Я хочу использовать Ansible как часть другого программного обеспечения Python. в этом программном обеспечении у меня есть список хостов со своим пользователем/паролем.Как передать пользователя/пароль в доступной команде
Есть ли способ передать пользователь/пропуск SSH-соединения на Ansible ad-hoc или записать его в любом файле зашифрованным способом?
Или я понимаю, что все это неправильно, и единственный способ сделать это - с сертификацией SSH?
Вы не хотите хранить пароли на компьютере. Это ужасная практика безопасности. :-) Вместо этого используйте SSH-ключи для аутентификации. В документации [SSH] (http://www.openssh.com/manual.html) содержится все, что вам нужно, в частности [ssh-keygen] (http://man.openbsd.org/ssh-keygen). Создайте свой ключ, затем добавьте открытую часть (то есть '~/.ssh/id_ed25519.pub') в файл' ~/.ssh/authorized_keys' на каждом целевом узле. – ghoti
Вы можете использовать хранилище для хранения зашифрованных данных (AES-256), но я не уверен, что вы можете передать пароль, если не набрав его (см. Мой ответ) –
user5507598, да, возможно, вам нужно использовать ключ-файл хранилища и вызовите текстовую книгу как команду с -k для модуля ожидания и для ответов: (? i) Пароль SSH: «{{password}}». Переменная, содержащая зашифрованный пароль, будет дешифрована с помощью хранилища. Хотя это будет держать блокировку и ключ как на сервере. не лучший способ. –