2013-09-01 74 views
0

我在系統上使用ip x。我想從s到系統ip y從X,做一些工作在y外殼使用x並出來退出到x再次..使用pythonpython和ssh從x到Y

我有以下python代碼片段,我打算在x上運行

if __name__ == "__main__": 
    print "inside main of python file" 
    command="ssh [email protected]" 
    output=subprocess.Popen(command, shell =False) 

當我運行此我希望新外殼將在目前的外殼打開,然後我可以繼續用172.1.1.2 wrkg。但是我發現我現在的殼得到了SSH損壞後到172.1.1.2已完成 。

我想我做錯了什麼。

回答

1

如果你想通過ssh運行shell命令,假設你將創建一個重複任務的python + shell腳本,那麼最好使用'fabric'。在任何情況下,您都可以通過IPython運行結構任務,獲取訪問權限並在IPython內部執行任何基於shell的活動。

如果您想要Bash/* SH shell訪問,那麼最好使用expect來執行登錄並在遠程服務器上爲您創建一個shell。

0

除了使用子進程模塊外,我建議您嘗試使用一種名爲Fabric的工具,該工具專用於通過ssh運行python命令。