python SSH模組登入,遠程機執行shell命令執行個體解析,pythonssh
用python SSH模組登入,並在遠程機執行shell命令
(在CentOS 7 環境實驗成功, Redhat 系列應該是相容的。)
先安裝必須的模組
# yum install python-dev# yum install python-devel# pip install pycrypto# pip install paramiko# pip install ssh
這些都成功後, 編寫一個Python指令碼
# vim remote_run.pyimport ssh# 建立一個ssh用戶端對象myclient = ssh.SSHClient()# 設定成預設自動接受密鑰myclient.set_missing_host_key_policy(ssh.AutoAddPolicy())# 串連遠程主機myclient.connect("xxx.coder4.com", port=22, username="xxxx", password="xxxx")# 在遠程機執行shell命令stdin, stdout, stderr = client.exec_command("ls -l")# 讀返回結果print stdout.read()# 在遠程機執行python指令碼命令stdin, stdout, stderr = client.exec_command("python /home/test.py")
建立一個SSHClient對象以後,除了執行命令,還可以開啟一個sftp的session,用於傳輸檔案、建立檔案夾等等。
# 建立 sftp sessionsftp = client.open_sftp() # 建立目錄sftp.mkdir('abc') # 從遠程主機下載檔案,如果失敗, 這個可能會拋出異常。sftp.get('test.sh', '/home/testl.sh') # 上傳檔案到遠程主機,也可能會拋出異常sftp.put('/home/test.sh', 'test.sh')
總結
以上就是本文關於python SSH模組登入,遠程機執行shell命令執行個體解析的全部內容,希望對大家有所協助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支援!