2011-09-16 149 views
-1

您好我想知道如何通過python或jython建立ssh連接並在另一臺機器上遠程運行腳本文件。我不確定要運行腳本的機器的平臺?請提供一些示例代碼。我不介意去尋找其他一些腳本語言。如何通過python或jython建立ssh連接並遠程運行腳本?

+0

@chown我不知道phython我只知道我想要什麼。我沒有用我的回答說服我,所以我在這裏問。請不要那麼粗魯。 – amod

+0

@downvoter ......它更好,如果你解釋我爲什麼你低估了。 – amod

+0

@ chown http://stackoverflow.com/faq#etiquette – amod

回答

2

最簡單/最快捷的方法是使用Python的使用os.system()調用系統的SSH命令: http://docs.python.org/library/os.html?highlight=system#os.system

例如這可以在Ubuntu上運行

import os 
os.system('/usr/bin/ssh localhost ls -la /') 

通過本地主機上的ssh運行'ls -la /'。

您需要爲ssh提供正確的命令行選項,並且您可以設置ssh密鑰以安全連接,但不需要密碼即可執行命令: 請檢查:http://www.g-loaded.eu/2005/11/10/ssh-with-keys/或谷歌更多關於SSH密鑰的信息。

+2

是的它的工作原理 - 但它不是一個好的解決方案,首先,不要使用'os.system',看'subprocess'。更好的是,使用直接的庫,比如paramirko。 – Anders

+0

取決於你需要什麼。對於一個快速入侵這個作品。除非您直接使用openssh lib,否則使用系統的ssh比單獨的庫更安全_usually_。 – flouris

1

你可能想看看Fabric

面料是簡化應用程序部署和系統管理任務的 使用SSH的Python庫和命令行工具。

它提供操作的基本套件,用於執行本地或遠程 外殼命令(通常或經由sudo)和上傳/下載文件, 以及輔助功能,諸如提示運行的用戶 用於輸入,或中止執行。

1

您應該嘗試execnet,它提供了API以在遠程機器上執行任意Python代碼。我在Linux機器上使用它,但它可以在Windows和Linux中使用。

相關問題