前言
我们在写 shell 脚本的时候通常会需要用 ssh 登录到远程服务器执行一些命令。
这个时候就懵逼了,我 ssh 直接执行过去了,怎么去应答这个询问
啊。 这个时候就需要知道 ssh 有一个非交互方式登录 StrictHostKeyChecking
主机公钥确认 StrictHostKeyChecking
-
StrictHostKeyChecking=no
最不安全的级别,当然也没有那么多烦人的提示了,相对安全的内网测试时建议使用。如果连接server的key在本地不存在,那么就自动添加到文件中(默认是known_hosts),并且给出一个警告。 -
StrictHostKeyChecking=ask
默认的级别,就是出现刚才的提示了。如果连接和key不匹配,给出提示,并拒绝登录。 -
StrictHostKeyChecking=yes
最安全的级别,如果连接与key不匹配,就拒绝连接,不会提示详细信息。
解法
- 简洁方便型
ssh -o StrictHostKeyChecking=no -i $rsaPath -p ${SERVER_PORT} ${SERVER} "
cd ${DIR}
rm -rf $files
rm -rf ${zipName}"
- 一劳永逸型
# ~/.ssh/config 中添加如下信息
Host *
StrictHostKeyChecking no
网友评论