Неинтерактивный SCP

Я создаю сценарий bash для создания новых экземпляров EC2, а затем загружаю файл после создания экземпляра. Я использую scp для загрузки файла, однако, поскольку это первый раз, когда я подключаюсь к экземпляру, скрипт получает запрос «Вы уверены, что хотите продолжить подключение (да/нет)?» так как подлинность хозяина не известна. Сценарий должен работать не в интерактивном режиме.

Можно ли избежать подсказки (похоже, нет очевидного параметра командной строки). Если нет, есть ли альтернативный метод или команда, которую я могу использовать для загрузки файла?


person Richard Dorman    schedule 07.09.2009    source источник
comment
Я в такой же ситуации. У меня есть большое количество коробок SCP, и у меня та же проблема. Я исследовал эту проблему много часов, но не нашел подходящего решения. Ждем ответов!   -  person Malax    schedule 07.09.2009


Ответы (2)


Вы можете установить для параметра StrictHostKeyChecking значение нет в ~/.ssh/config. См. ssh_config(5)

Это также можно сделать из командной строки: scp -i id -o stricthostkeychecking=no source.txt user@host:/path/

Где id — закрытый ключ, соответствующий открытый ключ находится в файле author_keys на сервере.

person Michiel Buddingh    schedule 07.09.2009
comment
Ах, это более чистое решение, чем мое :-). Хотя, вероятно, гораздо безопаснее создать отдельный файл конфигурации, используемый только для скрипта, и указать это с помощью ключа -F ‹configfile›. - person Simon Groenewolt; 07.09.2009
comment
Это также можно сделать из командной строки scp -o StrictHostKeyChecking=no ... - person Richard Dorman; 16.09.2009

Хотя, возможно, это и не самое окончательное и безопасное решение, вы можете попробовать написать сценарий expect.

person Simon Groenewolt    schedule 07.09.2009