如果运行以下命令,我会得到以下输出:
-bash-3.2$ ssh -o "StrictHostKeyChecking no" 192.168.1.77
Warning: Permanently added '192.168.1.77' (RSA) to the list of known hosts.
Last login: Fri Jul 4 10:49:11 2014 from chlorine.example.com
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
-bash-3.2$
我想运行此命令,而不将 192.168.1.77 添加到已知主机列表中,但仍然允许成功登录。
是否有 SSH 选项允许这样做?我已经浏览了该man
页面ssh_config
,并尝试了所有可能的选项,例如设置,"CheckHostIP no"
但没有成功。
本地和远程系统都运行 Solaris 10。
如果有必要,我可以在建立连接之前备份$HOME/.ssh/known_hosts
文件,并在建立连接后恢复它,但如果有一个 SSH 选项可以让我避免这样做,那么我更愿意使用它。
答案1
我从答案中看到了更多选项这里。
选项1:
-o "UserKnownHostsFile /dev/null"
选项2:
如果您想要这种行为,因为您正在使用云服务器(AWS EC2、Rackspace CloudServers 等),或者您不断在 Vagrant 中配置新映像,您可能需要更新 SSH 配置,而不是添加 bash 别名或更多选项命令行。
考虑添加类似的内容:
Host *.mydomain.com
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
User foo
LogLevel QUIET
- 尽可能严格地使用主机的正则表达式以确保安全。
- 将 LogLevel 设置为 QUIET 将阻止 Guillaume 提到的警告出现。