我无法从命令行将 IP 添加到 known_hosts。我有一个 mysql 备份脚本,该脚本应该使用 sftp 将文件上传到其他服务器。该脚本运行良好,但您必须手动运行 sftp 命令一次以将 ip 添加到 known_hosts,否则脚本将失败。
该脚本应具有可移植性,因此可以将其放入服务器并自动完成所有操作。无需用户第一次手动使用 sftp 进行连接。
我尝试使用以下命令添加 ip:
ssh-keygen -R [receiver IP]
ssh-keyscan -H [receiver IP] >> ~/.ssh/known_hosts
但我收到以下错误:
ssh-keygen:/root/.ssh/known_hosts:没有此文件或目录
我是否应该只添加 touch 来创建 known_hosts 文件或者最好的做法是什么?
答案1
由于它必须可移植到任何服务器,我认为最好的选择是附加StrictHostKeyChecking=否像这样:
ssh -o StrictHostKeyChecking=no [backupuser]@[backupserver]
您还可以在 sshd 配置文件中全局添加此选项,如下所示:
StrictHostKeyChecking No