簡體   English   中英

登錄后使用Python如何保持paramiko ssh會話打開?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM