[英]How to keep paramiko ssh session open after loggin in using python?
我試圖在使用python paramiko的測試環境中SSH到測試cisco路由器,並在該測試路由器中運行cisco命令。
除了1個小細節,一切都很好。 運行腳本后, 我希望ssh會話保持打開狀態。 (因此我可以手動運行其他命令)。 我想保持ssh會話的打開狀態,直到我鍵入“ exit”為止,但我發現另一個存在類似問題的鏈接,但我無法理解該解決方案。 (請參閱此處Python ssh-在腳本終止后保持連接打開 )
如果有人可以在這里幫助我,我將不勝感激
我的密碼
import paramiko
import time
def ssh_session(ip):
try:
session = paramiko.SSHClient() #Open the session
session.set_missing_host_key_policy(paramiko.AutoAddPolicy())
session.connect(ip, username = "ciscouser1", password = "password")
connection = session.invoke_shell()
####Running Cisco IOS commands###
connection.send("enable\n")
connection.send("password1") #sending
connection.send("\n")
connection.send("configure terminal\n\n")
time.sleep(1)
connection.send("do show ip int brief\n")
time.sleep(1)
except paramiko.AuthenticationException:
print "wrong credentials"
ssh_session("10.10.10.1")
會話超時將由SSH服務器控制。 據我所知,在客戶端保持會話有效的唯一方法是不活動,這可以通過發送null數據包來實現。 至於具體如何用paramiko做到這一點,我不確定。 也許您可以經常發送某種虛擬命令(甚至是空字符串?)?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.