安裝paramiko后,看下面例子:
代碼如下:
import paramiko
#設(shè)置ssh連接的遠(yuǎn)程主機(jī)地址和端口
t=paramiko.Transport((ip,port))
#設(shè)置登錄名和密碼
t.connect(username=username,password=password)
#連接成功后打開(kāi)一個(gè)channel
chan=t.open_session()
#設(shè)置會(huì)話超時(shí)時(shí)間
chan.settimeout(session_timeout)
#打開(kāi)遠(yuǎn)程的terminal
chan.get_pty()
#激活terminal
chan.invoke_shell()
然后就可以通過(guò)chan.send('command')和chan.recv(recv_buffer)來(lái)遠(yuǎn)程執(zhí)行命令以及本地獲取反饋。
例如:
chan.send('pwd')
print chan.recv(65535)
重點(diǎn)是,有些命令執(zhí)行的時(shí)間長(zhǎng),不適當(dāng)?shù)膔eceive回來(lái)可能得不到想要的結(jié)果,可以使用time.sleep()進(jìn)行等待,或使用一些條件循環(huán)。
例如:
代碼如下:
str=chan.recv(recv_buffer)
while not str.endswith('#'):
str=chan.recv(recv_buffer)
新聞熱點(diǎn)
疑難解答
圖片精選