ssh scp等消除每次问yes/no

来源:互联网 发布:中国禁枪怕被推翻 知乎 编辑:程序博客网 时间:2024/06/14 19:11
 SSH 公钥检查是一个重要的安全机制,可以防范中间人劫持等黑客攻击。但是在特定情况下,严格的 SSH 公钥检查会破坏一些依赖 SSH 协议的自动化任务,就需要一种手段能够绕过 SSH 的公钥检查。
   SSH 连接远程主机时,会检查主机的公钥。如果是第一次该主机,会显示该主机的公钥摘要,提示用户是否信任该主机:
   [root@master ~]# ssh 10.11.3.61
The authenticity of host '10.11.3.61 (10.11.3.61)' can't be established.
RSA key fingerprint is 5a:8e:00:2f:a3:e4:cf:d1:f9:29:b8:24:e7:36:28:cd.
Are you sure you want to continue connecting (yes/no)? 
   当选择接受,就会将该主机的公钥追加到文件 ~/.ssh/known_hosts 中。当再次连接该主机时,就不会再提示该问题了。
    省去连接时进行公钥确认:
   在首次连接服务器时,会弹出公钥确认的提示。这会导致某些自动化任务,由于初次连接服务器而导致自动化任务中断。或者由于  ~/.ssh/known_hosts 文件内容清空,导致自动化任务中断。

SSH 客户端的 StrictHostKeyChecking 配置指令,可以实现当第一次连接服务器时,自动接受新的公钥。只需要修改 /etc/ssh/ssh_config 文件,包含下列语句:

[root@master ~]# vi /etc/ssh/ssh_config 

StrictHostKeyChecking no

或者使用

[root@master ~]#  ssh IP -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no

原创粉丝点击