安裝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)
新聞熱點
疑難解答