ssh StrictHostKeyChecking

前言

我们在写 shell 脚本的时候通常会需要用 ssh 登录到远程服务器执行一些命令。
这个时候就懵逼了,我 ssh 直接执行过去了,怎么去应答这个询问啊。 这个时候就需要知道 ssh 有一个非交互方式登录 StrictHostKeyChecking

主机公钥确认 StrictHostKeyChecking

  1. StrictHostKeyChecking=no 最不安全的级别,当然也没有那么多烦人的提示了,相对安全的内网测试时建议使用。如果连接server的key在本地不存在,那么就自动添加到文件中(默认是known_hosts),并且给出一个警告。
  2. StrictHostKeyChecking=ask 默认的级别,就是出现刚才的提示了。如果连接和key不匹配,给出提示,并拒绝登录。
  3. 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

参考文档

  • http://www.cnblogs.com/zhengah/p/4959682.html

你可能感兴趣的:(ssh StrictHostKeyChecking)