У меня есть скрипт, который выбирает файлы с сервера, используя этот код для открытия сеанса.
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
?
Благодарю.
Ответы:
Первое, что вы можете сделать, это запустить
sftp
с параметромStrictHostKeyChecking
"Нет".Эта опция отключит проверку ключа удаленного хоста.
В противном случае вы можете создать глобальный
known_hosts
файл. Посмотрите этот ответ, чтобы узнать, как это сделать.источник
known_hosts
файлом решена.