Модуль Authorized_key для первоначального подключения

Можно ли использовать модуль author_key для копирования ssh-ключей хоста новому удаленному пользователю?


person Vasu    schedule 30.10.2014    source источник
comment
Почему бы не использовать для этого «копию»?   -  person seanmcl    schedule 30.10.2014
comment
Я хотел бы знать, можем ли мы автоматизировать первоначальную настройку соединения с новым удаленным хостом. Я предполагаю, что модуль копирования можно использовать только после того, как соединение будет установлено.   -  person Vasu    schedule 30.10.2014
comment
Ясно, поэтому вместо того, чтобы передавать --private-key или использовать собственный файл конфигурации ssh для первого подключения, вы хотите использовать этот модуль. Тогда я совершенно уверен, что ответ отрицательный; вам нужно использовать обычные механизмы ansible (ansible_ssh_private_key_file и т.д.)   -  person seanmcl    schedule 30.10.2014


Ответы (1)


Ansible полностью работает поверх SSH. Таким образом, вы также должны использовать ssh для настройки ssh. Как минимум, вам нужен работающий демон ssh и пользователь, который может получить доступ к хосту с паролем.

Затем вы можете получить доступ к хосту, используя -k (или --ask-pass, запросите пароль SSH), -K (или --ask-sudo-pass, запросите пароль sudo) и -u (или --user, подключитесь как этот пользователь).

Допустим, у вас есть пользователь foo, который может использовать ssh и sudo на удаленной машине, и вы хотите установить открытый ключ ssh для входа в систему как root, вы можете сделать это:

ansible yourhost -kKu foo -m authorized_key -a "ssh-dss AAAAB...zzz [email protected]"

Вам будет предложено ввести:

  • пароль foo на удаленном хосте
  • пароль, когда foo sudoing для root

См. http://docs.ansible.com/authorized_key_module.html%20%22authorized_key%20module%20documentation для альтернативных способов чтения локального ключа ssh (поиск).

person leucos    schedule 30.10.2014
comment
вы имеете в виду, что это работает, даже если я еще не скопировал ключ ssh на удаленный хост. Это означает, что начальная настройка еще не сделана. Удаленный хост новый, а открытый ключ доступного хоста еще не находится на удаленном хосте. - person Vasu; 30.10.2014
comment
ansible yourhost -Kku foo -m author_key -a user=foo key='ssh-dss AAAAB.....zzzz [email protected]' - person Vasu; 30.10.2014