我正在尝试开始使用Paramiko库,但是当我尝试连接以下简单程序时,库就会抛出异常:
import paramiko
ssh = paramiko.SSHClient()
ssh.connect('127.0.0.1', username='boatzart', password='mypassword')
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Traceback (most recent call last):
File "test.py", line 6, in <module>
ssh.connect('127.0.0.1')
File "build/bdist.macosx-10.7-intel/egg/paramiko/client.py", line 316, in connect
File "build/bdist.macosx-10.7-intel/egg/paramiko/client.py", line 85, in missing_host_key
paramiko.SSHException: Unknown server 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
无论我尝试哪种服务器都会发生这种情况
我打算在客户端和服务器之间使用 SSH 密钥创建使用无密码连接。
使用 paramiko,我最终遇到AuthenticationException。通过 Popen 使用标准 SSH,我可以毫无问题地连接
对于 Paramiko,我使用以下代码:
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.load_system_host_keys()
client.connect(ssh_server, username=ssh_user)
Run Code Online (Sandbox Code Playgroud)
对于同样的情况,我可以使用 SSH:
cmd = 'ssh -o GSSAPIAuthentication=no -o ForwardX11=no {}@{} echo 0 > /dev/null'.format(ssh_user, ssh_server)
process = subprocess.Popen(md, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
process.communicate()
Run Code Online (Sandbox Code Playgroud)
我正在使用 Python 3.4.6 和 Paramiko 2.4.1。
更多细节:
Paramiko 调试输出
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.load_system_host_keys()
client.connect(ssh_server, username=ssh_user)
Run Code Online (Sandbox Code Playgroud)
SSH 调试:(使用 ssh -v ssh_user AT ssh_server)
cmd = 'ssh -o GSSAPIAuthentication=no -o ForwardX11=no {}@{} echo 0 > …Run Code Online (Sandbox Code Playgroud)