У меня установлена виртуальная машина с Vagrant. План состоит в том, чтобы снабдить виртуальную машину сценарием оболочки. Скрипт должен делать что-то, подключаться к серверу ansible моей компании и позволять серверу запускать playbook со списком хостов, установленным на vm. Теперь проблема в том, чтобы установить связи. Поскольку все должно запускаться автоматически, пользовательский ввод должен быть редким или вообще не нужен.
Я пытался сделать это по ssh. Ключ сервера уже есть на моей виртуальной машине. Ключ виртуальной машины должен быть помещен на сервер. Моя проблема здесь в том, что нужно иметь пароль для подключения к серверу в первый раз, когда соединение устанавливается.
Я не использую ansible-pull или Ansible в качестве инициатора для Vagrant, потому что все должно работать и в Windows.
Есть ли у вас какие-либо предложения, как это сделать и какие подходы могут сработать?
Независимо от вашего решения, некоторые идеи:
ssh-copy-id
с участием sshpass
. Видеть Автоматизация ssh-copy-idЭто не часть вопроса, но: ... Вместо того, чтобы предоставлять виртуальную машину через сценарий оболочки, вы должны использовать Ansible playbook, если вы уже используете Ansible для более поздней настройки.