我在Python上编写了一个通用脚本,支持来自Unix的Windows和Unix ssh连接。
当我从Unix尝试使用Unix命令在Windows中创建目录时,我会退出53
/usr/bin/ssh2 --password pass -l admin ip_address
当我只写C:\Temp\ALEX_TEST_EX
时,它是好的。我登录Windows
当我在这台机器上手动尝试import paramiko
ssh = paramiko.SSHClient()
ssh.connect("ip_address", username="admin", password="pass")
时,它也是好的。
什么是问题?
我也尝试使用Python ssh2命令,如
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/python3.5/site-packages/paramiko/client.py", line 402, in connect
self, server_hostkey_name, server_key
File "/python3.5/site-packages/paramiko/client.py", line 768, in missing_host_key
'Server {!r} not found in known_hosts'.format(hostname)
paramiko.ssh_exception.SSHException: Server 'X.Y.Z.W' not found in known_hosts
但我得到例外
map
答案 0 :(得分:1)
您尚未配置客户端计算机以允许您知道您尝试连接的服务器。您可以配置客户端,或者作为解决方法,您可以在paramiko上设置MissingHostKeyPolicy
,如:
警告主机何时不在已知主机中:
ssh.set_missing_host_key_policy(paramiko.WarningPolicy)
自动添加主机以了解主机:
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.WarningPolicy)
ssh.connect("localhost", username="admin", password="pass")