2011-12-08 10 views
0

pexpectを使用してサーバにsshでログインでき、コマンドの実行に問題はありません。しかし、私はssh接続を行うためにparamikoを使用するように切り替えたいので、他のparamikoモジュールを利用することができます。paramikoの問題のトラブルシューティングが必要な場合

sock.connect((hostname, port)) 
    File "<string>", line 1, in connect 
socket.error: [Errno 113] No route to host 

それはルートがホストしないように言って、なぜ私は間違いなくpexpectとしてノードに到達することができますように私は、理解していないが私を示したか、ただ単にssh'ingによって:私はparamikoを使用する場合しかし、私はエラーを取得しますノード

ここで問題になっている可能性のあるヘルプは、大変ありがとうございます。私はこれをトラブルシューティングする方法についてもわかりません。

私がデバッグでparamikoを実行していますが、このように有効になりますが、私はすべてのデバッグメッセージを取得しないと、スクリプトだけですぐに失敗:

paramiko.common.logging.basicConfig(level=paramiko.common.DEBUG) 
+1

冗長モードでsshしようとすると助けになるかもしれません – avasal

+0

古い 'pexpect'コードが機能しているだけで、この新しいスクリプトに値のエラーがないことを意味するわけではありません('ホスト名 ')。接続を行う前に、 'hostname'と' port'の値だけでなく、変数の型を出力して、この質問に編集できますか? –

答えて

1

あなたがの簡単な例を投稿することができれば参考になります使用しているコード

確認名前解決が正常に起こっていることを確認します:

socket.gethostbyname(hostname) 

をまた、私はわからないんだけど、あなたが直接socketを使用している理由は?それともあなたが得るスタックトレースとエラーメッセージの一部であるとき

あなたはこのようなもので、あなたが望むものを達成することができる必要があります:あなたは完全なエラーを与えた場合、それがより参考になる

from paramiko.client import SSHClient 
client = SSHClient() 
client.load_system_host_keys() 
client.connect('ssh.example.com') 
stdin, stdout, stderr = client.exec_command('ls -l') 
print stdout 

メッセージ、スタックトレース、および使用しているコード。

関連する問題