2017-06-13 22 views
2

SSHに接続してそのサーバーでコードを実行し続けるpythonスクリプトを実行しようとしています。SSHでpythonスクリプトを実行

cmd = 'ssh [email protected]'  
os.system(cmd) 

しかし、次のコードは、SSHとの接続が切断されて実行されるまで待機します。 1つのスクリプト内でコードを実行するにはどうすればよいですか?

理想的には、私はSSHサーバーに接続して、いくつかのファイルを作成し、それらを同じスクリプト内で処理するためにコンピュータにコピーします。

私はParamikoを試しましたが、その周りの道はありますか?ありがとう。

+0

可能な複製(https://stackoverflow.com/questions/37086065/automate-ssh - 接続と実行 - of-pythons-paramiko) – e4c5

+0

これを行うより良い方法があります。 paramikoを使用するか、paramikaの上に構築された高水準のライブラリFabricを使用することをお勧めします。詳細は – e4c5

+0

の上記リンク先の回答をご覧くださいparamikoを使用しない理由は何ですか? +1ファブリック – pmuntima

答えて

1

スクリプトをリモートbashにパイプします。

cat script.sh | ssh user @ server/bin/bash

1

他の人がコメントしたように、Fabricを使用してください。これは、sshを介してリモートコントロールのための高レベルのインターフェイスを提供し、彼らはすでに認証、キー、エラー処理などの管理のすべての苦労した。それは、システムコールを介して物事を実行し、あなた自身でそれを管理しようとするよりはるかに簡単です。

詳細:

[PythonのParamikoとのSSH接続およびプログラムの実行を自動化する]の
関連する問題