溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中SSH模塊登錄,遠(yuǎn)程機(jī)執(zhí)行shell命令的示例分析

發(fā)布時間:2021-08-04 09:10:34 來源:億速云 閱讀:165 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“python中SSH模塊登錄,遠(yuǎn)程機(jī)執(zhí)行shell命令的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“python中SSH模塊登錄,遠(yuǎn)程機(jī)執(zhí)行shell命令的示例分析”這篇文章吧。

用python SSH模塊登錄,并在遠(yuǎn)程機(jī)執(zhí)行shell命令

先安裝必須的模塊

# yum install python-dev
# yum install python-devel
# pip install pycrypto
# pip install paramiko
# pip install ssh

這些都成功后, 編寫一個Python腳本

# vim remote_run.py
import ssh
# 新建一個ssh客戶端對象
myclient = ssh.SSHClient()
# 設(shè)置成默認(rèn)自動接受密鑰
myclient.set_missing_host_key_policy(ssh.AutoAddPolicy())
# 連接遠(yuǎn)程主機(jī)
myclient.connect("xxx.coder4.com", port=22, username="xxxx", password="xxxx")
# 在遠(yuǎn)程機(jī)執(zhí)行shell命令
stdin, stdout, stderr = client.exec_command("ls -l")
# 讀返回結(jié)果
print stdout.read()
# 在遠(yuǎn)程機(jī)執(zhí)行python腳本命令
stdin, stdout, stderr = client.exec_command("python /home/test.py")

建立一個SSHClient對象以后,除了執(zhí)行命令,還可以開啟一個sftp的session,用于傳輸文件、創(chuàng)建文件夾等等。

# 新建 sftp session
sftp = client.open_sftp()
 
# 創(chuàng)建目錄
sftp.mkdir('abc')
 
# 從遠(yuǎn)程主機(jī)下載文件,如果失敗, 這個可能會拋出異常。
sftp.get('test.sh', '/home/testl.sh')
 
# 上傳文件到遠(yuǎn)程主機(jī),也可能會拋出異常
sftp.put('/home/test.sh', 'test.sh')

以上是“python中SSH模塊登錄,遠(yuǎn)程機(jī)執(zhí)行shell命令的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI