在你投票之前,讓我說我已經閱讀了關於這個問題的許多問題,並沒有找到答案。這個與我所需要的最接近的是「Neil」的答案。Python-ssh與外國計算機的密碼,而不使用非內置模塊
What is the simplest way to SSH using Python?
我想找到一種方式登錄到使用ssh,提供密碼的另一臺主機,而不導入非標準的模塊。然後我需要能夠使用ssh連接發送多個命令。我需要這樣做,因爲我需要在很多封閉系統上自動化一些東西,我無法獲取新模塊(非Internet可訪問)。
中所引用的問題的答案是:
如果你想避免任何額外的模塊,你可以使用子 模塊運行
SSH [主持人] [命令],並捕獲輸出。
嘗試類似:
過程= subprocess.Popen( 「SSH example.com LS」,殼=真, 標準輸出= subprocess.PIPE,標準錯誤= subprocess.STDOUT)輸出,標準錯誤= process.communicate ()status = process.poll()print output要使用用戶名和密碼處理 ,可以使用子進程與 進程交互ssh進程,也可以在服務器上安裝公鑰到 避免提示密碼。
聽起來不錯,但我不能很好地理解這一點,以便將它放在更遠的地方。有人可以幫助我邁出寶寶的一步嗎?
(1) log in to ssh
(2) provide the password when its prompted
(3) issue an ls command and display the result
如果我能獲得密碼輸入,我可以自動執行其餘的自動操作。 PS:我試過使用expect,但TCL不在系統中,所以請不要告訴我使用它!如果你知道別的東西,我可以打電話來幫助python,但我很高興嘗試它,只要它可能默認構建在Fedora Enterprise Linux系統中。
你應該真的在使用密鑰而不是腳本密碼發送 – Daenyth