0

私は今日、PythonSSH接続を操作するためにParamikoを使用しています。これは便利です。

ただし、SSHを介して本当に実行できるようにしたいことの1つは、Pythonicシュガーを利用することです。私が知る限り、組み込みのParamiko関数しか使用できません。リモート側でPythonを使用する場合は、そこに配置したスクリプトを使用して呼び出す必要があります。

Paramiko SSH接続の制限だけで行うのではなく、SSH接続を介してPythonコマンドを送信する方法はありますか?Pythonスクリプト内でParamikoを介してSSH接続を実行しているので、それができるのは正しいように思えますが、その方法がわかりません。

4

2 に答える 2

1

RPyCはあなたが探しているものかもしれません。ローカル スクリプトから直接、別のマシンの Python 環境にアクセスできます。

>>> import rpyc
>>> conn = rpyc.classic.connect("someremotehost.com")
>>> conn.modules.sys.path
['D:\\projects\\rpyc\\servers', 'd:\\projects', .....]

SSL または SSH 経由で接続を確立するには、以下を参照してください。

http://rpyc.sourceforge.net/docs/secure-connection.html#ssl

于 2012-08-20T20:14:17.410 に答える
0

それが SSH が作成した目的です。安全なシェルであり、コマンドはリモート マシンで実行されます (まるでリモート コンピューター自体に座っているかのように考えることができますが、それは実行できるという意味ではありません)。マシンと物理的に対話しているにもかかわらず、シェルで Python コマンドを実行します)。

Python にはコマンドがなく、Python スクリプトを実行するという理由だけでPython コマンドを送信することはできません。

したがって、あなたができることはすべて、次のステップを実行する「もの」です。

  1. Python コードの一部をファイルにラップします。
  2. scpそれをリモート マシンに送信します。
  3. そこで実行してください。
  4. スクリプトを削除します (または、さらに実行するためにキャッシュします)。

基本的に、シェル コマンドはリモート マシンのプログラム自体であるため、これらのスクリプトはシェル拡張 (コマンド ライン パラメーターを使用する Python プログラムなど) のように考えることができます。

于 2012-08-20T20:05:39.917 に答える