ssh 忽略known_hosts连接两种方式
1、通过paramiko连接:
#!/usr/bin/env python
import
paramiko
ip
=
‘192.168.190.128‘
username
=
‘root‘
password
=
‘server‘
port
=
22
#设置记录日志
paramiko.util.log_to_file(
‘ssh.log‘
)
#生成ssh客户端实例
s
=
paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
print
"Starting"
s.connect(ip,port,username,password)
stdin,stdout,stderr
=
s.exec_command(
‘free -m‘
)
print
stdout.read()
s.close()
如果s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 这句话注释掉就会报下面的错。
Unknown server 192.168.190.128,原因是因为使用ssh连接一个新机器的时候会弹出一段对话询问yes/no,如果选择yes,那么连接的主机信息就会产生一个密钥存放在~/.ssh/known_hosts中。set_missing_host_key_policy就是避免这个问题的,不需要对连接主机进行密钥验证的。
2、ssh直接连接:
加参数 -o StrictHostKeyChecking=no
时间: 2024-10-13 22:15:12