首頁  >  文章  >  後端開發  >  python paramiko實作ssh遠端存取的方法

python paramiko實作ssh遠端存取的方法

高洛峰
高洛峰原創
2017-01-07 16:41:041992瀏覽

安裝paramiko後,看下面例子:

import paramiko
#设置ssh连接的远程主机地址和端口
t=paramiko.Transport((ip,port))
#设置登录名和密码
t.connect(username=username,password=password)
#连接成功后打开一个channel
chan=t.open_session()
#设置会话超时时间
chan.settimeout(session_timeout)
#打开远程的terminal
chan.get_pty()
#激活terminal
chan.invoke_shell()
然后就可以通过chan.send('command')和chan.recv(recv_buffer)来远程执行命令以及本地获取反馈。
例如:
chan.send('pwd')
print chan.recv(65535)

重點是,有些命令執行的時間長,不適當的receive回來可能得不到想要的結果,可以使用time.sleep()進行等待,或使用一些條件循環。
例如:

str=chan.recv(recv_buffer)
while not str.endswith('#'):
    str=chan.recv(recv_buffer)

更多python paramiko實現ssh遠端存取的方法相關文章請關注PHP中文網!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn