WindowsマシンからPythonのサブプロセスモジュールを使用してUNIXボックスに接続しようとしています。厳密にはサブプロセスモジュール私の知っているように環境制限を持っているので、私はUNIXシステムに接続するために窓からそれらを実行することはできません)。 私は試したことがありますし、私はいつもパスワードプロンプトで対話型キーボード認証メッセージを取得します。そのプロンプトにはパスワードを入力してください。コマンドdoesntの仕事に-pw使用Pythonを使用しているウィンドウからsshを使用してUNIXボックスにログインする際にサブプロセスを使用してパスワードを送信するには
import subprocess
cmd='plink -ssh [email protected] -pw password'
sp=subprocess.Popen(cmd,stdin=subprocess.pipe,stdout=subprocess.pipe,shell=False)
sp.stdin.write('password \n')
sp.stdin.flush()
error,out=sp.communicate
print error
print out
はコンソールにもstdin.writeしようとしましたが、(タイム-pwオプションまたはstdin.writeのいずれか1つを使用している)だけでなく、それを行うことができませんでした。私も私の実行環境上でいくつかの制限があり、またこれは、FreeBSD 1に接続するために、私のWindowsマシン上で正常に動作窓に
Windowsで動作する他の提案を歓迎し、環境上の制限はありませんか? –
ところで、 'shell = False'は(A)Windowsでは無視されます。(B)' Popen'に単一の文字列としてコマンドを渡すときに、あなたが望むフラグではありません。 –
@MadPhysicistはい私は、このメッセージを受け取らずにUNIXボックスに接続できるpython内部モジュールを使用して任意の提案に公開しています。また、私はパスワードなしログインを行うために秘密鍵を使用するオプションを使用しないでください。 –