2

Pythonのparamikoパッケージを使用してリモートUnixマシンに接続しています。私はこのコードを書きました:

import paramiko
import sys
import os
import os.path
passwd = "XXX"
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("173.15.13.28", "root", password=passwd)
stdin, stdout, stderr = ssh.exec_command('ls')
x = stdout.readlines()
print x
for line in x:
   print line
ssh.close()

実行後、次のエラーが発生します。

   Traceback (most recent call last):
    File "<pyshell#9>", line 1, in <module>
      ssh.connect("173.15.13.28", "root", password="--------")
    File "C:\Python27\lib\site-packages\paramiko\client.py", line 282, in connect
      for (family, socktype, proto, canonname, sockaddr) in socket.getaddrinfo(hostname, port,socket.AF_UNSPEC, socket.SOCK_STREAM):
    gaierror: [Errno 10109] getaddrinfo failed

何が問題なのかわかりません。

4

1 に答える 1

6

connect()メソッドの2番目の引数はポート番号で、デフォルトは22です。そこに「root」を配置しているため、機能しません。キーワード引数を使用しますusername="root"。つまり、これを試してください:

ssh.connect("173.15.13.28", username="root", password=passwd)

参照:SSH接続を確立しようとしたときのpython paramiko、getaddrinfoエラー

于 2012-09-22T06:13:25.007 に答える