4

これが失敗した場合:

ssh = paramiko.SSHClient()
ssh.connect( host, username = USER , pkey = MY_KEY, timeout = 2)

次のようなトレースバックがあります。

  File "<stdin>", line 1, in <module>
  File "<stdin>", line 7, in bs_process
  File "/usr/lib/python2.7/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):
socket.gaierror: [Errno -2] Name or service not known

不正な接続試行に対してParamikoがスローするエラーの種類/種類がわかりません。例外クラスはどれですか?どのようにインポートできますか?

4

3 に答える 3

6

例外で終わるすべてのクラスについて、APIドキュメントを確認することから始めることができます。

http://docs.paramiko.org/en/1.15/api/client.html#paramiko.client.SSHClient.connect

次に、もキャッチする必要がありますsocket.error。私はそれがあなたにほとんどすべてを得ると思います。たとえばsocket.gaierror、のサブクラスです。socket.error

于 2012-12-18T10:37:20.830 に答える
4

受け入れられた回答には壊れたリンクがあります。Paramikoのドキュメントは現在次の場所にあります。

http://docs.paramiko.org/en/1.15/api/client.html#paramiko.client.SSHClient.connect

「接続」メソッドは次のことを発生させます。

BadHostKeyException – if the server’s host key could not be verified
AuthenticationException – if authentication failed
SSHException – if there was any other error connecting or establishing an SSH session
socket.error – if a socket error occurred while connecting
于 2015-01-26T20:08:10.133 に答える
0

問題はへの呼び出しにありssh.connect()ます。
この場合、必ず接続ポートを指定してください。
例:

ssh.connect(server, port=22, username=user, pkey=key)

それは私にとってはうまくいきます。

于 2019-07-11T15:53:16.063 に答える