WindowsマシンでPythonスクリプトを実行して、リモートLinuxマシンで別のPythonスクリプトを呼び出しています。以下のように、sshでsubprocess.callを使用してこれを実行しています
subprocess.call('ssh -i <identify file> username@hostname python <script_on_linux_machine>')。これは正常に機能します。
ただし、以下のようにいくつかの環境変数を設定したい場合は、
subprocess.call('ssh -i <identify file> username@hostname python <script_on_linux_machine>', env={key1:value1})失敗します。次のエラーが発生します。
ssh_connect: getnameinfo failed
ssh: connect to host <hostname> port 22: Operation not permitted
255
sshコマンドをリストに分割して渡すことを試みました。助けにはならなかった。他の「ローカル」(Windows)コマンドを実行subprocess.call()して、環境を設定しようとしました。正常に動作します。lsリモートLinuxマシンで他のコマンド(など)を実行しようとしました。繰り返しsubprocess.call()ますが、環境を設定しようとしない限り、正常に動作します。
私は何が間違っているのですか?リモートマシンでPythonスクリプトの環境を設定できますか?どんな助けでもありがたいです。