Python paramiko模塊使用解析(實現(xiàn)ssh)
更新時間:2019年08月30日 14:29:10 作者:JasonMingHao
這篇文章主要介紹了Python paramiko模塊使用解析(實現(xiàn)ssh),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
開發(fā)堡壘機之前,先來學習Python的paramiko模塊,該模塊基于SSH用于連接遠程服務器并執(zhí)行相關(guān)操作
安裝paramiko模塊
pip3 install paramiko
基于用戶密碼方式
import paramiko
# 創(chuàng)建SSH對象
ssh = paramiko.SSHClient()
# 允許連接不在know_hosts文件中的主機
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 連接服務器
ssh.connect(hostname="10.0.0.200", port=22, username='root', password='1')
# 執(zhí)行命令
# stdin:標準輸入(就是你輸入的命令);stdout:標準輸出(就是命令執(zhí)行結(jié)果);stderr:標準錯誤(命令執(zhí)行過程中如果出錯了就把錯誤打到這里),stdout和stderr僅會輸出一個
stdin, stdout, stderr = ssh.exec_command('df')
# 獲取命令結(jié)果
result = (stdout.read().decode('utf-8')) # 這個有問題,如果執(zhí)行的命令是錯誤的,會不顯示錯誤,可以修改一下,先判斷stdout有沒有值,如果輸出沒有,就顯示錯誤
print(result)
# 關(guān)閉連接
ssh.close()
基于公鑰密鑰連接
import paramiko
# 指定私鑰路徑
private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')
# 創(chuàng)建SSH對象
ssh = paramiko.SSHClient()
# 允許連接不在know_hosts文件中的主機
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 連接服務器
ssh.connect(hostname='10.0.0.171', port=22, username='root', pkey=private_key)
# 執(zhí)行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 獲取命令結(jié)果
result = stdout.read()
print(result.decode())
# 關(guān)閉連接
ssh.close()
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
用Python實現(xiàn)寫倒序輸出(任意位數(shù))
這篇文章主要介紹了用Python實現(xiàn)寫倒序輸出(任意位數(shù)),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
python實現(xiàn)socket+threading處理多連接的方法
今天小編就為大家分享一篇python實現(xiàn)socket+threading處理多連接的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

