SSH交互式脚本StrictHostKeyChecking选项
Posted 楚兴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH交互式脚本StrictHostKeyChecking选项相关的知识,希望对你有一定的参考价值。
SSH 公钥检查是一个重要的安全机制,可以防范中间人劫持等黑客攻击。但是在特定情况下,严格的 SSH 公钥检查会破坏一些依赖 SSH 协议的自动化任务,就需要一种手段能够绕过 SSH 的公钥检查。
什么是SSH
公钥检查
SSH 连接远程主机时,会检查主机的公钥。如果是第一次该主机,会显示该主机的公钥摘要,提示用户是否信任该主机:
The authenticity of host '10.0.0.1 (10.0.0.1)' can't be established.
ECDSA key fingerprint is 91:63:21:08:4a:96:23:5b:f6:98:c9:a8:cd:cb:8b:91.
Are you sure you want to continue connecting (yes/no)?
当选择接受,就会将该主机的公钥追加到文件 ~/.ssh/known_hosts
中。当再次连接该主机时,就不会再提示该问题了。
如何去掉公钥确认?
在首次连接服务器时,会弹出公钥确认的提示。这会导致某些自动化任务由于初次连接服务器而任务中断。或者由于~/.ssh/known_hosts
文件内容清空,导致自动化任务中断。 SSH 客户端的 StrictHostKeyChecking 配置指令,可以实现当第一次连接服务器时,自动接受新的公钥。只需要修改 /etc/ssh/ssh_config
文件,包含下列语句:
Host *
StrictHostKeyChecking no
或者在 ssh 命令行中用 -o
参数
$ ssh -o StrictHostKeyChecking=no 10.0.0.1
以上是关于SSH交互式脚本StrictHostKeyChecking选项的主要内容,如果未能解决你的问题,请参考以下文章