Запустите Команду Ansible От Имени Другого Пользователя, Используя Его Ключ Ssh

  • Автор темы Enyata
  • Обновлено
  • 21, Oct 2024
  • #1

Я пытаюсь понять, как запустить команду ansible ping от имени другого пользователя, используя его ключ ssh.

Настройка пользователя у меня по существу:

  • master_user (я)

  • ansible (пользователь sudo, вход без пароля)

Я вошел в систему как пользователь ansible и сделал:

  • ssh-keygen (сгенерировать ключ)
  • ssh-copy-id XXXX (скопируйте ключ ssh на соответствующий сервер)

Все это протестировал, и все работает нормально (к вашему сведению, на каждом сервере уже есть доступный пользователь).

Я обновил файл хостов, чтобы в нем также были все мои хосты.

 
 Offending key for IP in /home/master_user/.ssh/
 

Теперь, когда я удаленно подключаюсь к master_user, я хочу запустить команду ansible, но в качестве пользователя ansible что-то вроде этого:

Это не удается, поскольку он пытается подключиться к серверам по SSH, используя ssh-ключ master_users. Failed to connect to the host via ssh

Сообщение об ошибке:

ansible all --become-user=ansible -m ping

Когда я запускаю флаг -vvvv, я вижу, что он пытается подключиться к пользователю master_user ssh, судя по всему.

Как настроить его так, чтобы он всегда использовал доступного пользователя и использовал ssh-ключ доступных пользователей?

Enyata


Рег
26 Jan, 2011

Тем
61

Постов
194

Баллов
509
  • 25, Oct 2024
  • #2

 
 ansible <hosts> -u ansible -m ping
 
will tell which user to become to run a particular ansible module на удаленном сервере.

Если вы хотите запустить $ ssh ansible@<host> command on your control machine as an other user, you need to use ansible all --private-key=/home/ansible/.ssh/id_rsa -m ping или -s on this machine e.g.

sudo -s -u ansible ansible all -m ping

su option will load the user's shell an make sure homedir and all other envs are correctly set prior to running the command.

Другим возможным решением было бы использовать ssh-ключ, который вы создали для пользователя ansible из своей учетной записи.

sudo

Потенциально это будет работать, только если у вашего текущего пользователя есть доступ на чтение данного ключа.

 

Игорьффы


Рег
18 Mar, 2010

Тем
58

Постов
182

Баллов
542
  • 25, Oct 2024
  • #3

Если вы можете подключиться к хозяин

ansible

тогда попробуй

become_user
 

Karlikone


Рег
08 Jul, 2010

Тем
57

Постов
163

Баллов
498
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно