用python SSH模塊登錄,并在遠程機執(zhí)行shell命令
(在CentOS 7 環(huán)境試驗成功, 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")# 在遠程機執(zhí)行shell命令stdin, stdout, stderr = client.exec_command("ls -l")# 讀返回結果print stdout.read()# 在遠程機執(zhí)行python腳本命令stdin, stdout, stderr = client.exec_command("python /home/test.py")
建立一個SSHClient對象以后,除了執(zhí)行命令,還可以開啟一個sftp的session,用于傳輸文件、創(chuàng)建文件夾等等。
# 新建 sftp sessionsftp = client.open_sftp() # 創(chuàng)建目錄sftp.mkdir('abc') # 從遠程主機下載文件,如果失敗, 這個可能會拋出異常。sftp.get('test.sh', '/home/testl.sh') # 上傳文件到遠程主機,也可能會拋出異常sftp.put('/home/test.sh', 'test.sh')
總結
以上就是本文關于python SSH模塊登錄,遠程機執(zhí)行shell命令實例解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
新聞熱點
疑難解答