2016-12-14 14 views
0

ローカルのLinuxマシンからリモートのLinuxマシンにファイルをscpしようとしています。解決できませんでしたホスト名のABC: は、ここで私は上記を実行すると、私はファイルをscpするためのPythonコードが名前解決の問題で失敗する

のsshをabc.localに接続する

以下のようにエラーが出る私は

filename = '/tmp/myfile' 
remotepath = '/tmp' 
command = 'nodeattr' 
sproc = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True) 
server = sproc.communicate() 

print "connecting to",server[0] 

p = subprocess.Popen(["scp", filename, "[email protected]"+server[0]+":"+remotepath]) 
sts = p.wait() 

をしようとしていますコードです.local:知られていない名前またはサービス
接続が切断された

ただし、私がコマンドラインでsshを実行すると、リモートホストabc.localに接続でき、問題はありません。しかし、subprocessを使用しているときに、このエラーが発生しています。

私は間違った方法でサブプロセスを使用していますか?

答えて

1

"abc.local"とエラーメッセージの次のコロンの間に改行があることに注目してください。最初のPopenから返された実際の文字列は "abc.local \ n"です。 .strip()にするか、そうでなければその改行文字を取り除く必要があります。

関連する問題