1

Windowsプラットフォームで.pyからsshするためにこのコマンドを実行しようとしました:

child = winpexpect.spawn('ssh %s@%s' % ('myID','m.y.i.p'))

pexpect と同様に機能するはずですが、次のエラーが表示されます。

pexpect.ExceptionPexpect: The command was not found or was not executable: ssh.

C:\rhcygwin\bin がパスにあることを確認しました。ssh コマンドを見つけるように .py ファイルに指示する方法について何か提案はありますか?

編集:アプローチを切り替えました:このコードを.pyで実行しました

    command = ['bash', '-c', './myssh.sh']
    proc = subprocess.Popen(command, stdout = subprocess.PIPE)

非常に初歩的ですが、正常に接続されます。

4

2 に答える 2

1

As far as I'm aware, pexect does not actually work on windows. There was a partial port attempt, but it was broken the last time I checked it.

If you want to automate doing something over ssh with python on windows, you will probably have better luck with the paramiko library. There are good docs, but you will need to compile pycrypto, or else get a precompiled binary.

于 2012-06-22T20:19:46.207 に答える
1

winspawn メソッドを使用し、.exe 拡張子を指定する必要があります。

child = winpexpect.winspawn('ssh.exe %s@%s' % ('myID','m.y.i.p'))
于 2012-10-12T11:51:24.723 に答える