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