これは、SSH 経由の pythons インタラクティブ モードで機能するコマンドに関する質問ですが、スクリプトに含まれている場合は機能しません。それは私を怒らせています。スクリプトに問題がありましたが、Python シェルに行を挿入するだけで、期待どおりの結果が得られることがわかりました。これは私を混乱させます。スクリプトで作業する必要があるため、続行する方法がわかりません。Python シェルの場合、SSH 経由でログインし、Python ssh モジュール経由でログインするのではなく、Python スクリプトを開きます。そこからは、期待どおりに機能します。
import ssh
import gnupg
import pickle
s = ssh.Connection(host = 'ipaddress', username = 'toolserv', password = 'xxxx')
gpg = gnupg.GPG(gnupghome="/home/toolserv/.gnupg")
with open("result1.txt", "r") as my_file:
signed_data1 = pickle.load(my_file)
my_file.close()
print signed_data1
s.close()
sudo からスクリプトを実行すると、スクリプトから得られるエラーは次のとおりです。
Traceback (most recent call last):
File "sshx.py", line 11, in <module>
with open("result1.txt", "r") as my_file:
IOError: [Errno 2] No such file or directory: 'result1.txt
ls -ld の結果は次のとおりです。 drwxr-xr-x 29 toolserv toolserv 4096 2012-08-19 22:38