我有一个脚本,它使用此代码从服务器获取文件来打开会话。
sftp -o port="port" -o IdentityFile="private_key_location" "username@remote_host"
手动运行它可以成功下载文件。
但是当我使用调度程序运行脚本时,它会失败并提示
No RSA host key is known for [remote_host]:port and you have requested strict checking
Host key verification failed.
Couldn't read packet: Connection reset by peer
我的private_key_location
也可以被其他用户访问。我读到~/.ssh/known_hosts
执行脚本的地方可能没有我连接的主机~/.ssh/known_hosts
。
我该如何配置脚本,以便当另一个用户运行它时它不会失败,因为它仍然可以访问我的private_key_location
?
谢谢。
答案1
您可以做的第一件事就是sftp
将选项StrictHostKeyChecking
设置为“否”来运行。
sftp -o StrictHostKeyChecking=no -o port="port" -o IdentityFile="private_key_location" "username@remote_host"
此选项将禁用远程主机密钥检查。
否则你可以创建全局known_hosts
文件。请参阅这个答案如何做到这一点。