У меня возникли проблемы с добавлением 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: нет такого файла или каталога
Должен ли я просто добавить прикосновение, чтобы создать файл known_hosts или что лучше всего сделать?
Поскольку он должен быть переносимым на любой сервер, я думаю, что лучший выбор для вас - добавить StrictHostKeyChecking = нет к вашей команде ssh следующим образом:
ssh -o StrictHostKeyChecking=no [backupuser]@[backupserver]
Вы также можете добавить эту опцию глобально в свой файл конфигурации sshd следующим образом:
StrictHostKeyChecking No