通過paramiko互動式執行bash 命令

2022-09-19 09:30:10 字數 799 閱讀 8186

#

!/usr/bin/python

#-*- coding: utf-8 -*-

import

paramiko

#例項化sshclient

client =paramiko.sshclient()

#自動新增策略,儲存伺服器的主機名和金鑰資訊,如果不新增,那麼不再本地know_hosts檔案中記錄的主機將無法連線

client.set_missing_host_key_policy(paramiko.autoaddpolicy())

#連線ssh服務端,以使用者名稱和密碼進行認證

client.connect(hostname='

localhost

', port=8045, username='

pi', password='

123456')

#開啟乙個channel並執行命令

stdin, stdout, stderr = client.exec_command('

mysql -upi -p123456

') #

stdout 為正確輸出,stderr為錯誤輸出,同時是有1個變數有值

#列印執行結果

print (stdin.write('ls'

))print(stdout.read().decode('

utf-8'))

print(stderr.read().decode('

utf-8'))

#關閉sshclient

client.close()

ssh執行非互動式命令

如果你想用指令碼自動化登入到某台機子上,然後在上邊執行個命令,怎麼辦呢?可以使用ssh的非互動式命令 ssh zhc hongchangfirst.com home hczhang bin build.sh 這裡可以用expect模擬鍵盤輸入將密碼輸入,也可以用無密碼登入,具體就是將自己的公鑰放在對...

Python 實現互動式執行命令

paramiko提供了ssh 客戶端的介面,讓大家在寫指令碼的時候可以remote到遠端的機器上執行命令 有時候在執行某些命令的時候我們需要輸入一些值,接著才往下跑,下面是乙個簡單的指令碼來解決這個動態輸入的問題 service tomcat status root1234 if retcode 0...

互動式介面

互動式介面 啟動終端後,在終端裝置附加乙個互動式應用程式 runlevel 顯示當前執行的模式 root vm 163 113 centos runlevel n 3init 3 切換至命令列 init 0 停機 千萬不能把initdefault 設定為0 init 1 單使用者模式 init 2 ...