<p>一些解释,我从Panos在谷歌小组线程。这对我没有帮助,但也许对其他人有帮助。在</p>
<blockquote>
<p>A <code>-5</code> error is defined as a key exchange error in libssh2. It sounds
like the key type is not supported by libssh2 and paramiko shows
'ecdsakey.py' being used. ECDSA keys are not currently supported by
libssh2 (PR pending).</p>
<p>The warning are from paramiko itself, can't say if they matter.</p>
<p>Better exceptions for native client errors are being worked on for
next release.</p>
</blockquote>
<p></p>
<blockquote>
<p>So for a private key 'my_pkey', there should be a 'my_pkey.pub' in
same directory.</p>
<p>It may also be a case of the SSH server's key not being supported by
the native client (same limitations as user keys) which would explain
the key exchange error. Can check the type of key configured for the
server in /etc/ssh/sshd_config, <code>HostKey</code> entry. There should be at
least one non-ECDSA key configured, eg:</p>
<p>HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key</p>
<p>If there is only a ECDSA key entry, the native client will not be able
to connect.</p>
</blockquote>