描述
我想寫一個python腳本SSH到我的虛擬機並執行一些命令。防止Paramiko退出
如果我做手工,我會繼續開放,我仍然可以看到我的日誌住。
如果我使用該腳本,SSH進入並自動執行一些命令後,它會一直退出並返回到我的用戶提示符。我試圖阻止這一點。
視頻
手動= https://dl.dropboxusercontent.com/u/56134944/ssh_wag_manually.mov
通過Python腳本= https://dl.dropboxusercontent.com/u/56134944/ssh_wag_py.mov
這就是我現在所擁有的
import paramiko
import time
import sys
# Note
# sudo pip install --user paramiko
def ssh_con (ip, un, pw):
global client
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
print ("Connecting to device/VM: %s" % ip)
client.connect(ip, username=un, password=pw)
def cmd_io (command):
global client_cmd
client_cmd.send("%s \n" %command)
time.sleep(1)
output = client_cmd.recv(10000).decode("utf-8")
print (output)
# ip = raw_input("Enter WAG IP : ")
# ip = sys.argv[1]
ip = '172.168.200.300'
un = 'xyz'
pw = 'abc'
ssh_con(ip,un,pw)
client_cmd = client.invoke_shell()
print ("SSH CONNECTION ESTABLISHED TO vMEG %s" % ip)
cmd_io ("en")
cmd_io ("terminal monitor")
cmd_io ("debug wag https")
cmd_io ("debug wag httpc")
cmd_io ("debug https")
cmd_io ("debug httpc")
cmd_io ("debug wag kafka")
結果
[local]site#
terminal monitor
[local]site#
debug wag https
[local]site#
debug wag httpc
[local]site#
debug https
[local]site#
debug httpc
[local]site#
debug wag kafka
[local]site#
.... Quitting and return the command prompt ....
──[/Applications/MAMP/htdocs/code/python]
└──
如何將一個去了解和預防呢?
我打開此時的任何建議。
任何提示/建議/對此的幫助將非常感謝!
何時執行SSH會話退出:立即或在一段時間後,或在輸入命令或其他內容之後? –
基本上在完成了腳本的最後一行之後...... – ihue
那麼,你的腳本正在結束,所以由進程打開的任何TCP連接自然會被關閉。你想要腳本繼續運行嗎?你是否希望ssh連接以某種方式在腳本退出後繼續存在?在所有命令完成執行後,你想用這個ssh會話做什麼? – Kenster