ssh 忽略known_hosts连接
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
本文来自博客园,作者:晴云孤魂,转载请注明原文链接:https://www.cnblogs.com/cnhack/articles/18815679

浙公网安备 33010602011771号