Вот архитектура удаленного сервера
Код: Выделить всё
ansible -> remote server host -> nonroot user access defined in the inventory
ansible -> perform/run: "sudo su -" -> with this I will be connected to host with root user.
ansible -> root@host# -- ssh adm@1.1.1.1 -> basically am connecting to an internal host, user: adm
ansible -> adm@1.1.1.1# "sudo su -" -> this step is required to gain root access of internal server.
Только если у меня есть доступ к: root@1.1.1.1# , я смогу запускать нужные команды Linux.
Я попробовал точный порядок действий в моей книге игр, но в конечном итоге он зависает с запросом пароля. Теперь, за исключением доступа пользователя без полномочий root к удаленному хосту, пароль не требуется.
Теперь, поскольку «permitRootLogin: no» в sshd_config на удаленном сервере, я не могу удаленно запустить команда с сервера ansible с пользователем root (ansible -> ssh root@1.1.1.1 'желаемые команды Linux')
Любые предложения о том, как мы можем этого добиться, будем очень признательны.< /p>
Вот фрагмент кода, который я пытался использовать:
- name : Подключитесь к удаленному хосту и выполните команды на внутреннем сервере
хосты: удаленный_хост
become: yes
become_user: root
задачи:
< li>имя: убедитесь, что мы можем подключиться к удаленному хосту.
ping: - имя: SSH на внутренний сервер и запустите роль Ansible от имени root
оболочки: |
ssh -tt adm@1.1.1.1
Подробнее здесь: https://stackoverflow.com/questions/785 ... ng-ansible