192.168.1.113 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n",
"unreachable": true
}
У меня эта ошибка, я использую Debian Stretch и гостевой manjaro в виртуальном боксе.
Столкнувшись с той же проблемой. Следующий.
Можете ли вы запустить ту же команду с опцией -vvvv
для получения дополнительных результатов. пожалуйста !
guru@tj-lp140:/etc/ansible$ ansible all -m ping -vvv
Using /etc/ansible/ansible.cfg as config file
Using module file /usr/lib/python2.7/dist-packages/ansible/modules/core/system/ping.py
<35.165.79.66> ESTABLISH SSH CONNECTION FOR USER: None
<35.165.79.66> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/guru/.ansible/cp/ansible-ssh-%h-%p-%r 35.165.79.66 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo /tmp/ansible-tmp-1482309322.49-151682117578429 `" && echo ansible-tmp-1482309322.49-151682117578429="` echo /tmp/ansible-tmp-1482309322.49-151682117578429 `" ) && sleep 0'"'"''
Спасибо.
Из вашего вывода я вижу, что у вас не указан ansible_user:
<35.165.79.66> ESTABLISH SSH CONNECTION FOR USER: None
Кот, ты тоже показываешь содержимое своего инвентарного файла?
# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
# - Comments begin with the '#' character
# - Blank lines are ignored
# - Groups of hosts are delimited by [header] elements
# - You can enter hostnames or ip addresses
# - A hostname/ip can be a member of multiple groups
# Ex 1: Ungrouped hosts, specify before any group headers.
## green.example.com
## blue.example.com
## 192.168.100.1
## 192.168.100.10
# Ex 2: A collection of hosts belonging to the 'webservers' group
[webservers]
35.165.79.66
# If you have multiple hosts following a pattern you can specify
# them like this:
## www[001:006].example.com
# Ex 3: A collection of database servers in the 'dbservers' group
## [dbservers]
##
## db01.intranet.mydomain.net
## db02.intranet.mydomain.net
## 10.25.1.56
## 10.25.1.57
# Here's another example of host ranges, this time there are no
# leading 0s:
## db-[99:101]-node.example.com
ssh [email protected] соединение будет установлено. но недоступная команда не может быть завершена.
Хорошо,
Когда вы указываете all
в своей команде, это немного сложно отлаживать.
Прокомментируйте все строки в вашем hosts
файле, добавьте эту строку
[webserver]
35.165.79.66 ansible_user=ubuntu
и попробуйте запустить:
$: ansible webserver -m ping -vvv
И покажи мне результат.
С Уважением
guru@tj-lp140:/etc/ansible$ ansible webservers -m ping -vvv
Using /etc/ansible/ansible.cfg as config file
Using module file /usr/lib/python2.7/dist-packages/ansible/modules/core/system/ping.py
<35.165.79.66> ESTABLISH SSH CONNECTION FOR USER: ubuntu
<35.165.79.66> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ubuntu -o ConnectTimeout=10 -o ControlPath=/home/guru/.ansible/cp/ansible-ssh-%h-%p-%r 35.165.79.66 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494 `" && echo ansible-tmp-1482312980.96-238945640414494="` echo $HOME/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494 `" ) && sleep 0'"'"''
<35.165.79.66> PUT /tmp/tmpxll2kJ TO /home/ubuntu/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494/ping.py
<35.165.79.66> SSH: EXEC sftp -b - -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ubuntu -o ConnectTimeout=10 -o ControlPath=/home/guru/.ansible/cp/ansible-ssh-%h-%p-%r '[35.165.79.66]'
<35.165.79.66> ESTABLISH SSH CONNECTION FOR USER: ubuntu
<35.165.79.66> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ubuntu -o ConnectTimeout=10 -o ControlPath=/home/guru/.ansible/cp/ansible-ssh-%h-%p-%r 35.165.79.66 '/bin/sh -c '"'"'chmod u+x /home/ubuntu/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494/ /home/ubuntu/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494/ping.py && sleep 0'"'"''
<35.165.79.66> ESTABLISH SSH CONNECTION FOR USER: ubuntu
<35.165.79.66> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ubuntu -o ConnectTimeout=10 -o ControlPath=/home/guru/.ansible/cp/ansible-ssh-%h-%p-%r -tt 35.165.79.66 '/bin/sh -c '"'"'/usr/bin/python /home/ubuntu/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494/ping.py; rm -rf "/home/ubuntu/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494/" > /dev/null 2>&1 && sleep 0'"'"''
35.165.79.66 | FAILED! => {
"changed": false,
"failed": true,
"invocation": {
"module_name": "ping"
},
"module_stderr": "Shared connection to 35.165.79.66 closed.\r\n",
"module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n",
"msg": "MODULE FAILURE"
}
<192.168.1.113> ESTABLISH SSH CONNECTION FOR USER: fulgor
<192.168.1.113> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=fulgor -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 192.168.1.113 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1482330370.75-42265180130710 `" && echo ansible-tmp-1482330370.75-42265180130710="` echo $HOME/.ansible/tmp/ansible-tmp-1482330370.75-42265180130710 `" ) && sleep 0'"'"''
192.168.1.113 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n",
"unreachable": true
}
Я изменил диск с изображением в виртуальном поле, поэтому ключ ssh был восстановлен, но с этого момента у меня появляется сообщение об ошибке.
Не могли бы вы помочь мне ?
Сгенерируйте ssh-ключ на главном узле:
root<strong i="6">@master</strong>:~# ssh-keygen -t rsa -C "[email protected]"
Затем скопируйте свой открытый ключ на серверы с помощью ssh-copy-id:
root<strong i="10">@master</strong>:~# ssh-copy-id [email protected]
root<strong i="11">@master</strong>:~# ssh-copy-id [email protected]
Я получил эту информацию на этом веб-сайте https://valdhaus.co/writings/ansible-post-install/, и он работает
@ guruprasad85 похоже, что вы пропустили "python" на удаленной машине (35.165.79.66).
"module_name": "ping"
},
"module_stderr": "Shared connection to 35.165.79.66 closed.\r\n",
"module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n",
"msg": "MODULE FAILURE"
}
Привет,
Я нашел решение.
Если вы используете ОС ami (ubuntu 16), значит, python не установлен, поэтому вам необходимо установить его. Используйте команду ниже для установки python -
sudo apt-get install python-minimal -y
или
вам необходимо использовать ОС ami (ubuntu 14). Он имеет Python 2.7.
Примечание: подтвердите, какая версия ОС у вас установлена.
Рад, что ты нашел решение.
Я пытаюсь выполнить эхо-запрос с управляющей машины Ansible (установленной в виртуальной машине UBUNTU 14.04) на экземпляр ОС Cent.
Оба являются экземпляром облака Google (с установленным Python).
Я не уверен в статусе связи между ними. Из приведенных ниже результатов ansible all -m ping я понял, что с моим SSH что-то не так.
35.185.191.25 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n",
"unreachable": true
# ansible all -m ping -vvv
Using /etc/ansible/ansible.cfg as config file
META: ran handlers
Using module file /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
<127.0.0.1> ESTABLISH SSH CONNECTION FOR USER: None
<127.0.0.1> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/21f0e6a9ae 127.0.0.1 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
Using module file /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
<35.185.191.25> ESTABLISH SSH CONNECTION FOR USER: gane
<35.185.191.25> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=gane -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/4596e88996 35.185.191.25 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
<127.0.0.1> (255, '', 'Permission denied (publickey).\r\n')
127.0.0.1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey).\r\n",
"unreachable": true
}
<35.185.191.25> (255, '', 'Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n')
35.185.191.25 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n",
"unreachable": true
}
Не могли бы вы предложить мне установить соединение между моими виртуальными машинами.
У меня такая же проблема @ganfotry . В чем причина этой проблемы? Пожалуйста, направьте меня в правильном направлении.
Я исправил это, сгенерировав ключи в обеих виртуальных машинах, а затем скопировав ключи.
наоборот внутри authorized_keys.
Тогда я получил ответ ниже :)
ansible -m ping all
127.0.0.1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
35.186.***.*** | SUCCESS => {
"changed": false,
"ping": "pong"
У меня была такая же проблема:
$ ansible local -m ping
127.0.0.1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n",
"unreachable": true
}
Решил проблему, установив sshpass с помощью команды:
sudo apt-get install sshpass
После установки sshpass я выполнил эту команду:
` json
ansible local -m ping --ask-pass
SSH password:
127.0.0.1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
Надеюсь это поможет!!!
это сработало для меня, так что может помочь и вам.
Попробуйте зарегистрировать закрытый ключ в своей связке ключей
ssh-agent bash
ssh-add <path to private key>
если это сработает, попробуйте добавить ключи в ваш файл ~ / .ssh / config
Привет,
Я получаю указанную ниже ошибку при запуске команды в режиме графического интерфейса пользователя ansible tower.
192.168.122.136 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Warning: Permanently added '192.168.122.136' (ECDSA) to the list of known hosts.\r\nPermission denied (publickey,password).\r\n",
"unreachable": true
}
Но я могу получить результат в режиме CLI на сервере.
[root<strong i="10">@node2</strong> ~]# ansible -m ping testservers
openstack | SUCCESS => {
"changed": false,
"ping": "pong"
}
Ниже приведен описанный результат
[root<strong i="14">@node2</strong> ~]# ansible testservers -m ping -vvv
Using /etc/ansible/ansible.cfg as config file
META: ran handlers
Using module file /usr/lib/python2.7/site-packages/ansible/modules/system/ping.py
<192.168.122.136> ESTABLISH SSH CONNECTION FOR USER: None
<192.168.122.136> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/859aa03053 192.168.122.136 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
<192.168.122.136> (0, '/root\n', '')
<192.168.122.136> ESTABLISH SSH CONNECTION FOR USER: None
<192.168.122.136> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/859aa03053 192.168.122.136 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696 `" && echo ansible-tmp-1497787246.45-142355876761696="` echo /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696 `" ) && sleep 0'"'"''
<192.168.122.136> (0, 'ansible-tmp-1497787246.45-142355876761696=/root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696\n', '')
<192.168.122.136> PUT /tmp/tmpkAYqIN TO /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696/ping.py
<192.168.122.136> SSH: EXEC sftp -b - -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/859aa03053 '[192.168.122.136]'
<192.168.122.136> (0, 'sftp> put /tmp/tmpkAYqIN /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696/ping.py\n', '')
<192.168.122.136> ESTABLISH SSH CONNECTION FOR USER: None
<192.168.122.136> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/859aa03053 192.168.122.136 '/bin/sh -c '"'"'chmod u+x /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696/ /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696/ping.py && sleep 0'"'"''
<192.168.122.136> (0, '', '')
<192.168.122.136> ESTABLISH SSH CONNECTION FOR USER: None
<192.168.122.136> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/859aa03053 -tt 192.168.122.136 '/bin/sh -c '"'"'/usr/bin/python /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696/ping.py; rm -rf "/root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696/" > /dev/null 2>&1 && sleep 0'"'"''
<192.168.122.136> (0, '\r\n{"invocation": {"module_args": {"data": null}}, "changed": false, "ping": "pong"}\r\n', 'Shared connection to 192.168.122.136 closed.\r\n')
openstack | SUCCESS => {
"changed": false,
"invocation": {
"module_args": {
"data": null
}
},
"ping": "pong"
}
META: ran handlers
META: ran handlers
Спасибо
Вручную попытайтесь получить доступ к серверу на терминале, если вы можете использовать ssh для удаленного сервера, затем удалите каталог .ansible из домашнего каталога локального пользователя. У меня это работает. (у)
Мне то же самое!
Я могу использовать ssh-сервер через терминал без указания директивы -i:
ssh [email protected]
работает
Выполнение команды:
ansible all -m ping
Я получаю сообщение об ошибке:
"msg": "Failed to connect to the host via ssh: Permission denied (publickey).\r\n",
"unreachable": true
@lkjangir удаление каталога .ansible также не сработало. знак равно
Попробуйте это, заменив ec2-user на любое имя пользователя, которое вы настроили.
ansible all -u ec2-user -m ping -vvv
@aelkz : в файле / etc / ansible / hosts вы можете поместить: [email protected]
вместо server.com
а затем попробовать ansible all -m ping
.
В противном случае, если вы не указали user1 в / etc / ansible / hosts, вы должны указать пользователя в команде ansible: ansible all -m ping -u user1
У меня была такая же ошибка, и это решение решило мою проблему.
Если я не ошибаюсь, это связано с проблемой ключа ssh. Скорость обновления для нового ключа или преобразование вашего ключа в формат openssh, чтобы избежать ошибки.
Использование --ask-pass вместе с параметрами -u сработало для меня.
@ Hai-minhD Ваше решение сработало для меня, спасибо. Я тестировал на хостах, где у меня был пользователь root в качестве того же пользователя, которого я использовал на управляющей машине. На этом конкретном хосте, где я получал ошибку, о которой сообщалось выше, у меня другой пользователь. Решено добавить хост с этим именем пользователя в файл Ansible hosts: username @ host.
пытаться-
доступный веб-сервер -m ping --ask-pass -i path_to_local_hosts_file
Установил python на подчиненном устройстве, и это сработало для меня.
У меня такая же проблема.
Нахожу решение: добавляю / etc / ansible / hosts:
ansible_ssh_user =
Надеюсь это поможет.
Получаю ошибку. Здесь shivslave - это еще одна виртуальная машина на Virtualbox с IP 192.168.0.5, и я могу успешно подключить ее с помощью [email protected], но команда Ansible не работает. Файл Host содержит
[пример]192.168.0.5
shivmaster @ shivmaster-VirtualBox : пример ~ $ ansible -m ping -u shivslave -vvv
доступный 2.4.1.0
файл конфигурации = /etc/ansible/ansible.cfg
настроенный путь поиска модуля = [u '/ home / shivmaster / .ansible / plugins / modules', u '/ usr / share / ansible / plugins / modules']
расположение модуля ansible python = /usr/lib/python2.7/dist-packages/ansible
расположение исполняемого файла = / usr / bin / ansible
версия python = 2.7.6 (по умолчанию, 26 октября 2016 г., 20:30:19) [GCC 4.8.4]
Использование /etc/ansible/ansible.cfg в качестве файла конфигурации
Разобрал / etc / ansible / hosts источника инвентаря с плагином ini
META: запущенные обработчики
Использование файла модуля /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
<192.168.0.5> УСТАНОВИТЕ СОЕДИНЕНИЕ SSH ДЛЯ ПОЛЬЗОВАТЕЛЯ: shivslave
<192.168.0.5> SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey -o PasswordAuthentication = no -o Пользователь = shivslave -o ConnectTimeout = 10 -o ControlPath = / home / shivmaster / .ansible / cp / e51c1eb9be 192.168.0.5 '/ bin / sh -c' "'"' echo ~ && sleep 0 '"'" ''
<192.168.0.5> (255, '', 'В доступе отказано (открытый ключ, пароль). \ R \ n')
192.168.0.5 | Недостижимо! => {
"изменено": ложь,
"msg": "Не удалось подключиться к хосту через ssh: Permission denied (publickey, password). \ r \ n",
"недостижимый": правда
}
shivmaster @ shivmaster-VirtualBox : ~ $
@lktslionel
У меня такая же проблема, я пробовал все варианты, упомянутые выше, не могли бы вы помочь здесь
доступный 2.4.2.0
файл конфигурации = /etc/ansible/ansible.cfg
настроенный путь поиска модуля = [u '/ root / .ansible / plugins / modules', u '/ usr / share / ansible / plugins / modules']
расположение модуля ansible python = /usr/lib/python2.7/dist-packages/ansible
расположение исполняемого файла = / usr / bin / ansible
версия python = 2.7.12 (по умолчанию, 20 ноября 2017 г., 18:23:56) [GCC 5.4.0 20160609]
Использование /etc/ansible/ansible.cfg в качестве файла конфигурации
можно отключить, установив deprecation_warnings = False в ansible.cfg.
настройка плагинов инвентаризации
Разобрал / etc / ansible / hosts источника инвентаря с плагином ini
Загрузка минимального плагина обратного вызова типа stdout, v2.0 из /usr/lib/python2.7/dist-packages/ansible/plugins/callback/__init__.pyc
META: запущенные обработчики
Использование файла модуля /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
<10.0.3.36> УСТАНОВИТЬ SSH-СОЕДИНЕНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЯ: root
<10.0.3.36> SSH: EXEC ssh -vvv -C -o ControlMaster = auto -o ControlPersist = 60s -o StrictHostKeyChecking = no -o Port = 22 -o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi- keyex, hostbased, publickey -o PasswordAuthentication = no -o User = root -o ConnectTimeout = 10 -o ControlPath = / root / .ansible / cp / c8171a76d6 10.0.3.36 '/ bin / sh -c' "'"' echo ~ && спать 0 '"'" ''
<10.0.3.36> (255, '', 'OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g 1 марта 2016 г. \ r \ ndebug1: чтение данных конфигурации / etc / ssh / ssh_config \ r \ ndebug1: / etc / ssh / ssh_config строка 19: Применение параметров для \ r \ ndebug1: auto-mux: Попытка существующего мастера \ r \ ndebug1: Управляющий сокет "/root/.ansible/cp/c8171a76d6" не существует \ r \ ndebug2: разрешение "10.0 .3.36 "порт 22 \ r \ ndebug2: ssh_connect_direct: needpriv 0 \ r \ ndebug1: Подключение к 10.0.3.36 [10.0.3.36] порт 22. \ r \ ndebug2: установка fd 3 O_NONBLOCK \ r \ ndebug1: fd 3 очистка O_NONBLOCK \ r \ ndebug1: соединение установлено. \ r \ ndebug3: таймаут: 9996 мс остается после подключения \ r \ ndebug1: постоянно_set_uid: 0/0 \ r \ ndebug1: файл идентификации /root/.ssh/id_rsa тип 1 \ r \ ndebug1 : key_load_public: Нет такого файла или каталога \ r \ ndebug1: файл идентификаторов /root/.ssh/id_rsa-cert тип -1 \ r \ ndebug1: key_load_public: Нет такого файла или каталога \ r \ ndebug1: файл идентификаторов / root /. ssh / id_dsa type -1 \ r \ ndebug1: key_load_public: нет такого файла или каталога \ r \ ndebug1: файл идентификации /root/.s
10.0.3.36 | Недостижимо! => {
"изменено": ложь,
"msg": "Не удалось подключиться к хосту через ssh: OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g 1 марта 2016 г. \ r \ ndebug1: чтение данных конфигурации / etc / ssh / ssh_config \ r \ ndebug1: / etc / ssh / ssh_config строка 19: Применение параметров для \ r \ ndebug1: auto-mux: Попытка существующего мастера \ r \ ndebug1: Управляющий сокет \ "/ root / .ansible / cp / c8171a76d6 \" не существует \ r \ ndebug2 : разрешение \ "10.0.3.36 \" порта 22 \ r \ ndebug2: ssh_connect_direct: needpriv 0 \ r \ ndebug1: Подключение к 10.0.3.36 [10.0.3.36] порту 22. \ r \ ndebug2: установка fd 3 O_NONBLOCK \ r \ ndebug1: fd 3 очистка O_NONBLOCK \ r \ ndebug1: соединение установлено. \ r \ ndebug3: timeout: 9996 мс остается после подключения \ r \ ndebug1: постоянно_set_uid: 0/0 \ r \ ndebug1: файл идентификации /root/.ssh/id_rsa тип 1 \ r \ ndebug1: key_load_public: нет такого файла или каталога \ r \ ndebug1: файл идентификации /root/.ssh/id_rsa-cert тип -1 \ r \ ndebug1: key_load_public: нет такого файла или каталога \ r \ ndebug1: файл идентификации /root/.ssh/id_dsa type -1 \ r \ ndebug1: key_load_public: Нет такого файла или каталога \ r \ nde
"недостижимый": правда
}
корень @ ip-172-31-31-140: ~ / .ssh #
У меня была такая же проблема, ansible пытается подключиться, используя ваше текущее имя пользователя, поэтому я пытался переписать имя пользователя, например:
ansible all -m ping -u ec2-user
Я столкнулся с двумя ошибками при запуске ansible all -m ping и наткнулся на эту ветку, чтобы t-shot. Я хочу поблагодарить всех за их вклад, поскольку он помог мне разобраться в этом.
: ОШИБКА-1:
Действия по устранению этого сообщения: "msg": "Не удалось подключиться к хосту через ssh: Permission denied (publickey, password). \ R \ n"
1) Я изменил файл конфигурации исправления в / etc / ansible / hosts, чтобы включить правильное имя пользователя ubuntu.
2) Я передал аргумент --private-key = / Users / my-user / .ssh / my-key.pem, поэтому команда выглядела так:
ansible all -m ping --private-key = / Пользователи / мой-пользователь / .ssh / my-key.pem
Это руководство проинформировало меня о том, как передать ключ в качестве аргумента:
https://ansible-tips-and-tricks.readthedocs.io/en/latest/ansible/commands/
: ОШИБКА 2:
"module_stdout": "/ bin / sh: 1: / usr / bin / python: not found \ r \ n",
Чтобы исправить это, я запустил sudo apt-get update; sudo apt-get install python 'на удаленном хосте. Я использую экземпляр ec2. Примечание: запуск команд установки как части сценария запуска поможет решить вторую проблему.
Ваше здоровье!
Похоже, на наших серверах Ubuntu 16.04 отсутствовал питон. Я установил его на все удаленные хосты, и проблема была устранена:
sudo apt-get install python-minimal -y
SSH будет подключаться к терминалам, но не к vsts и ansible, может ли кто-нибудь мне помочь?
Пытаюсь настроить SSH-соединение на * @ 10.130.2.142: 22
2018-04-04T21: 56: 46.6533908Z
2018-04-04T21: 56: 46.6549162Z ИГРАТЬ [все] * * * * * * * * * * * * * * * * * * * * *
2018-04-04T21: 56: 46.6555625Z
2018-04-04T21: 56: 46.6603308Z
2018-04-04T21: 56: 46.6616154Z ЗАДАЧА [Создать каталоги] * * * * * * * * * * * * * * * *
2018-04-04T21: 56: 46.6622522Z
2018-04-04T21: 56: 46.8874071Z сбой: [10.130.2.206] (item = / home / * / myagent /) => {"item": "/ home / * / myagent /", "msg": " Не удалось подключиться к хосту через ssh: Permission denied (publickey). \ R \ n "," unreachable ": true}
2018-04-04T21: 56: 46.8880968Z
2018-04-04T21: 56: 47.0341093Z не удалось: [10.130.2.206] (item = / home / * / mywork /) => {"item": "/ home / * / mywork /", "msg": " Не удалось подключиться к хосту через ssh: Permission denied (publickey). \ R \ n "," unreachable ": true}
2018-04-04T21: 56: 47.0349137Z
2018-04-04T21: 56: 47.0363780Z фатальный: [10.130.2.206]: недостижимо! => {"changed": false, "msg": "Все элементы завершены", "results": [{"_ansible_ignore_errors": null, "_ansible_item_result": true, "item": "/ home / * / myagent /" , "msg": "Не удалось подключиться к хосту через ssh: Permission denied (publickey). \ r \ n", "unreachable": true}, {"_ansible_ignore_errors": null, "_ansible_item_result": true, "item" : "/ home / * / mywork /", "msg": "Не удалось подключиться к хосту через ssh: Permission denied (publickey). \ r \ n", "unreachable": true}]}
2018-04-04T21: 56: 47.0371817Z
2018-04-04T21: 56: 47.0387681Z, чтобы повторить попытку, используйте: --limit @ / tmp / Infrax / Agent_config.retry
2018-04-04T21: 56: 47.0397434Z
2018-04-04T21: 56: 47.0403265Z
2018-04-04T21: 56: 47.0415230Z ВОСПРОИЗВЕДЕНИЕ * * * * * * * * * * * * * * * * * * * * *
2018-04-04T21: 56: 47.0421749Z
2018-04-04T21: 56: 47.0434107Z 10.130.2.206: ok = 0 изменено = 0 недоступно = 1 сбой = 0
2018-04-04T21: 56: 47.0440861Z
2018-04-04T21: 56: 47.0446720Z
2018-04-04T21: 56: 47.0452765Z
2018-04-04T21: 56: 47.0850279Z ## [ошибка] Команда ansible-playbook -i "10.130.2.206," /tmp/Infrax/Agent_config.yaml -b --become-user * завершена с кодом 4.
2018-04-04T21: 56: 47.0948275Z ## [раздел] Завершение: запустить playbook
Когда я нажал на это, я использовал Ansible в OSX для подключения к ящику aws с сертификатом pem. У меня НЕ было файла ~ / .ssh / config. Как только я создал один и добавил не более этого:
Хозяин *
IdentityFile ~ / .ssh / id_rsa
AddKeysToAgent да
Тогда я волшебным образом научился исполнять пьесы.
Я получаю указанную ниже ошибку при попытке скопировать файл с управляющей машины на узел.
КОМАНДА: sudo ansible dbservers -m copy -a "src = / etc / ansible / Taha dest = / etc / Taha"
Ошибка:
52.186.71.70 | Недостижимо! => {
"изменено": ложь,
"msg": "Не удалось подключиться к хосту через ssh: в доступе отказано (publickey, gssapi-keyex, gssapi-with-mic, пароль, интерактивная клавиатура). \ r \ n",
"недостижимый": правда
}
Я попробовал все вышеперечисленные шаги, но безуспешно ....
попробуйте передать файл инвентаризации и ключ ssh с именем пользователя. У меня нет пользователя, определенного в инвентаре для узлов, поэтому я передаю команду, и она всегда работает для меня. так что команда будет такой -
sudo ansible dbservers -m -i inventory / inventory-file --user = ubuntu --private-key = "private-key.pem" copy -a "src = / etc / ansible / Taha dest = / etc / Taha"
Спасибо Локешу за помощь ...
Поскольку я новичок в ansible, я просто хочу знать, где я могу сохранить файл PEM на сервере управления? мне нужно внести изменения в инвентарный файл?
t Привет, ребята,
У меня такая же проблема.
Мой пользователь DevOps мог использовать ssh для всех серверов, но когда я пытался запустить (с mysuer), доступные команды, я всегда получал ошибку ... НЕДОСТУПЕН! ...
Я решил это, сделав с "mysuer" ssh serverDestiny (сервер, который находится в файле инвентаризации) примечание, если вы используете fqdn, вы должны сделать ssh для FQDN.
пример:
кошачий инвентарь
server1
[ myuser @ рабочая станция ansible-deploy-cr] ssh-keygen
[ myuser @ рабочая станция ansible-deploy-cr] ssh-copy-id -i DevOps @ server1
контрольная работа..
[ myuser @ рабочая станция ansible-deploy-cr] ssh ' DevOps @ server1
Надеюсь, что это поможет вам.
если да, поставьте лайк 👍
Спасибо,
MBrito
10.20.2.42
ansibleclient.com
[root @ansibleserver ~] # ansible all -m ping
10.20.2.42 | Недостижимо! => {
"изменено": ложь,
"msg": "Не удалось подключиться к хосту через ssh: в доступе отказано (publickey, gssapi-keyex, gssapi-with-mic, пароль). \ r \ n",
"недостижимый": правда
}
ansibleclient.com | Недостижимо! => {
"изменено": ложь,
"msg": "Не удалось подключиться к хосту через ssh: Permission denied (publickey, password). \ r \ n",
"недостижимый": правда
}
[ root @ ansibleserver ~] #
Пожалуйста, помогите мне в этом вопросе .. я думаю, нам нужно создать ключ ssh, как создать пошаговый процесс, пожалуйста, я не эксперт
Любезно помогите
Это исправлено путем добавления генерации ключа ssh на сервер и его копирования клиенту.
Команды:
$ ssh-keygen -t rsa
нажмите Enter
$ cd root /
$ la -la
скопируйте id_rsa.pub в целевую виртуальную машину
$ ssh-copy-id назначение vm
ssh-copy-id -i пользователь @ localhost
ssh-copy-id -i пользователь @ servers_in_inventory
кажется работает
Этот URL-адрес является первым попаданием Google по этой ошибке, поэтому, хотя эта «проблема» закрыта, люди будут продолжать попадать по ней в обозримом будущем. Вот как я исправил это для python3
, ansible 2.5
(обе являются версиями PIP в virutualenv) и OSX High Sierra.
Сообщаю о моем «исправлении» для моего сценария. Бег:
$ python3 $ (который недоступен) localhost -m ping -vvvv
Приведет к этой ошибке. -vvvv показывает, что это ошибка ключа / аутентификации. Здорово. Вы можете изолировать Ansible от этого, просто выполнив [email protected]
и для меня это не удалось (я считаю отказ войти с помощью ключей SSH как сбой).
Простое исправление: at ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
У меня была такая же проблема, и я сам нашел решение, я расскажу вам, что со мной происходит.
Я получаю ту же ошибку, и я решаю ее cz в той же папке proyect, у меня был файл hosts, и по какой-то причине произошла ошибка, поэтому просто с помощью rm -r hosts я решил ее.
Я расскажу вам, если у вас такая же проблема, как и у меня.
Счастливого Рождества X), xoxo.
У меня была такая же проблема, пока я не отредактировал свой файл инвентаря с помощью
[testserver]
<target_ip> ansible_user=<target_domain_name> ansible_ssh_pass=<target_pass>
Затем для проверки:
ansible testserver -m ping
ubuntu @ ip-172-31-1-85 : / etc / ansible $ sudo ansible-playbook tomserver.yml
PLAY [вебсерверов] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **
ЗАДАЧА [Сбор Факты] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
фатальный: [54.153.119.230]: НЕДОСТУПНО! => {"changed": false, "msg": "Не удалось подключиться к хосту через ssh: нет такого идентификатора: /root/UbuntuAnsible.pem: Нет такого файла или каталога \ r \ nПреобразование запрещено (открытый ключ). \ r \ n "," unreachable ": true}
чтобы повторить попытку, используйте: --limit @ / etc / ansible / tomserver.retry
пожалуйста помоги
Вы пытаетесь просто подключиться? Как выглядит ваш файл hosts?
В среду, 12 сентября 2018 г., FALCON-SJSU [email protected]
написал:
фатальный: [54.153.119.230]: НЕДОСТУПНО! => {"изменено": false, "msg": "Не удалось
для подключения к хосту через ssh: такого идентификатора нет: /root/UbuntuAnsible.pem:
Нет такого файла или каталога. \ R \ nВозможность запрещена (открытый ключ). \ R \ n ",
"unreachable": true}
чтобы повторить попытку, используйте: --limit @ / etc / ansible / tomserver.retryпожалуйста помоги
-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-420827308 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/An-8H0G3NUSkpFXpcm2hkAXXGco3eMmyks5uaZO0gaJpZM4LSWpz
.
Я нашел решение.
Моя операционная система была Mac OS, и я меняю файл ansible.cfg в строке remote_user = root, проблема решена.
Ага! Мне пришлось сделать то же самое! Рад, что ты решил это!
Во вторник, 18 сентября 2018 г., в 4:09 ZhangZhongyuan [email protected]
написал:
Я нашел решение.
Моей операционной системой была Mac OS, и я изменил файл ansible.cfg в
строка 'remote_user = root', проблема решена.-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-422297005 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/An-8H0zGJ4zE4mKmaMtXDAtInZNDlrW4ks5ucKpCgaJpZM4LSWpz
.
Я запустил playbook со следующими флагами:
ansible-playbook playbook.yml --ask-pass - это помогло.
В хостах вы также можете сделать права ansibleuser = "user" ansiblepass = "pass"
рядом с ip для цели. Это позволяет мне запускать игровые книги без каких-либо
дополнительные запросы пароля.
Вторник, 2 октября 2018 г., в 11:15 jluntnscc [email protected] написал:
Я запустил playbook со следующими флагами:
ansible-playbook playbook.yml --ask-pass - это помогло.
-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-426312089 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/An-8HzRVj8-BqcUiQywgQYKIVbcr4yzdks5ug4MEgaJpZM4LSWpz
.
попробуй это
ansible all -m ping
ansible all -u raj -m ping
ИЛИ
доступные демонстрационные серверы -u raj -m ping
ИЛИ
ansible -m ping all -u raj --ask-pass
или вы можете перейти по этой ссылке для получения дополнительной информации
https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/install-ansible-automation-tool-for-it-management-on-centos-7-ubuntu-14-04-fedora- 22-часть-1.html
Что сработало для меня, так это обновить мой файл hosts, чтобы указать путь к ключу ssh:
[webserver]
IP_ADDRESS ansible_user=ubuntu ansible_connection=ssh ansible_private_key_file=~/.ssh/key.pem
Хорошее решение. Это позаботится о нескольких целях!
В понедельник, 29 октября 2018 г., в 16:02 fhackenb [email protected] написал:
Что сработало для меня, так это обновить файл моих хостов, чтобы указать путь к ssh
ключ:[веб сервер]
IP_ADDRESS ansible_user = ubuntu ansible_connection = ssh ansible_private_key_file = ~ / .ssh / key.pem-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-434057611 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/An-8HzLY4PQVaWdPDOH0bHGnh9xpzmDWks5up17AgaJpZM4LSWpz
.
работает нормально после решения @ riteshpuj2013 .
ansible-playbook test.yml --ask-pass
я получаю эту проблему, не знаю, как продвигаться
[email protected] | Недостижимо! => {
"изменено": ложь,
"msg": "Ошибка аутентификации или разрешения. В некоторых случаях вы могли пройти аутентификацию и не имели разрешений в целевом каталоге. Рассмотрите возможность изменения удаленного пути tmp в ansible.cfg на путь с корнем в \" / tmp \ ". Неудачная команда: (umask 77 && mkdir -p \" echo /tmp/.ansible/tmp/ansible-tmp-1543139945.24-52208136278646
\ "&& echo ansible-tmp-1543139945.24-52208136278646 = \" echo /tmp/.ansible/tmp/ansible-tmp-1543139945.24-52208136278646
\ "), завершился с результатом 1 ",
"недостижимый": правда
}
возможность запускать playbook с помощью ansible, но при выполнении той же playbook с ошибкой ansible tower
<192.168.0.17> УСТАНОВИТЬ СОЕДИНЕНИЕ SSH ДЛЯ ПОЛЬЗОВАТЕЛЯ: admin
<192.168.0.17> SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o StrictHostKeyChecking = no -o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey -o PasswordAuthentication = no -o User = admin -o ConnectTimeout = 10 -o ControlPath = / tmp / awx_86_9cdeKb / cp / 86796477d7 192.168.0.17 '/ bin / sh -c' "'"' echo ~ admin && sleep 0 '"'" ''
<192.168.0.17> (255, '', "Предупреждение: Постоянно добавлено '192.168.0.17' (ECDSA) в список известных хостов. \ R \ nПреобразование запрещено (publickey, gssapi-keyex, gssapi-with-mic, пароль ). \ r \ n ")
фатальный: [192.168.0.17]: НЕДОСТУПНО! => {
"изменено": ложь,
"msg": "Не удалось подключиться к хосту через ssh: Предупреждение: Постоянно добавлено '192.168.0.17' (ECDSA) в список известных хостов. \ r \ nПреобразование запрещено (publickey, gssapi-keyex, gssapi-with-mic , пароль). \ r \ n ","недостижимый": правда
}
У меня проблема, дайте мне решение
убунту @master: ~ $ анзибль-сборник пьес playbook2.yml -b PLAY [172.31.42.20] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ЗАДАЧ [Сбор Факты] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
фатальный: [172.31.42.20]: НЕДОСТУПНО! => {"changed": false, "msg": "Не удалось подключиться к хосту через ssh: Permission denied (publickey, password). \ r \ n", "unreachable": true}
чтобы повторить попытку, используйте: --limit @ / дома / убунту / playbook2.retry ВОСПРОИЗВЕДЕНИЕ RECAP * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
У меня проблема, дайте мне решение
убунту @ мастер : ~ $ анзибль-сборник пьес playbook2.yml -b PLAY [172.31.42.20] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ЗАДАЧ [Сбор Факты] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
фатальный: [172.31.42.20]: НЕДОСТУПНО! => {"changed": false, "msg": "Не удалось подключиться к хосту через ssh: Permission denied (publickey, password). \ r \ n", "unreachable": true}
чтобы повторить попытку, используйте: --limit @ / дома / убунту / playbook2.retry ВОСПРОИЗВЕДЕНИЕ RECAP * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
172.31.42.20: ok = 0 изменено = 0 недоступно = 1 не удалось = 0
У нас есть два решения: -
password less auth (you can refer google how to generate rsa key )
add ask_pass=true in ancible.cfg file. (This will ask password when you run ansible)
Настройте SSH-соединение с хост-компьютером и проверьте его.
Как только это будет сделано, укажите в файле / etc / ansible / hosts правильный IP-адрес хоста.
Теперь, чтобы проверить безопасное соединение между ansible и гостевой машиной, используйте следующую команду:
-> ansible -i hosts -u vagrant --ask-pass -m ping all
hosts-> hosts файл (укажите правильный гостевой ip)
-u vagrant -> vagrant - имя пользователя моей гостевой машины
--ask-pass-> Позволяет ввести пароль SSH для подключения к гостевому m / c.
Примечание. Если я не использую --ask-pass, будет выдана ошибка.
Спасибо, если поможет :)
вполне возможно, что ваш / etc / ansible / hosts неправильный
Я новичок в ансибле, может ли кто-нибудь мне помочь?
34.201.109.32 | Недостижимо! => {
"изменено": ложь,
"msg": "Не удалось подключиться к хосту через ssh: [email protected] : Permission denied (publickey). \ r \ n",
"недостижимый": правда
}
Попробуйте включить пароль для целевой машины в файл hosts.
Как правило, вам необходимо иметь существующее соединение ssh, которое
генерирует ключ RSA для вашего хоста и вашего локального компьютера. Попробуйте ssh в
host, затем снова запустите ansible.
Вск, 20 января 2019 г., 11:22 Венката Бханусри Вадламуди <
[email protected]> написал:
Я новичок в ансибле, может ли кто-нибудь мне помочь?
34.201.109.32 | Недостижимо! => {
"изменено": ложь,
"msg": "Не удалось подключиться к хосту через ssh: [email protected] :
В доступе отказано (публичный ключ). \ R \ n ",
"недостижимый": правда
}-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-455880089 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/An-8H0nPfSdUELQxzoQAvvHHlsau7uyBks5vFJfOgaJpZM4LSWpz
.
Когда я использую команду ssh со своего локального терминала, я могу подключиться к экземпляру ec2. Однако, когда я запускаю сценарий ansible, я получаю сообщение об ошибке.
34.201.109.32 | Недостижимо! => {
"изменено": ложь,
"msg": "Не удалось подключиться к хосту через ssh: [email protected] : Permission denied (publickey). \ r \ n",
"недостижимый": правда
}
Для экземпляров AWS ec2 вы должны сгенерировать открытый ключ через AWS,
загрузите его и укажите в сеансе ssh этот ключ. Есть учебники для
эта процедура онлайн.
Вск, 20 января 2019 г., 16:48 Венката Бханусри Вадламуди <
[email protected]> написал:
Когда я использую команду ssh со своего локального терминала, я не могу подключиться
к экземпляру ec2. Однако, когда я запускаю сценарий ansible, я получаю сообщение об ошибке.34.201.109.32 | Недостижимо! => {
"изменено": ложь,
"msg": "Не удалось подключиться к хосту через ssh: [email protected] :
В доступе отказано (публичный ключ). \ R \ n ",
"недостижимый": правда
}-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-455905472 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/An-8Hya_SkLrHT-HLYEOPEE2QXsSuDOJks5vFOQOgaJpZM4LSWpz
.
t Привет, ребята,
У меня такая же проблема.
Мой пользователь DevOps мог использовать ssh для всех серверов, но когда я пытался запустить (с mysuer), доступные команды, я всегда получал ошибку ... НЕДОСТУПЕН! ...
Я решил это, сделав с "mysuer" ssh serverDestiny (сервер, который находится в файле инвентаризации) примечание, если вы используете fqdn, вы должны сделать ssh для FQDN.
пример:
кошачий инвентарь
server1[ myuser @ рабочая станция ansible-deploy-cr] ssh-keygen
[ myuser @ рабочая станция ansible-deploy-cr] ssh-copy-id -i DevOps @ server1
контрольная работа..
[ myuser @ рабочая станция ansible-deploy-cr] ssh ' DevOps @ server1Надеюсь, что это поможет вам.
если да, поставьте лайк 👍
Спасибо,
MBrito
Это устранило мою проблему в AWS на частном VPC, мне нужен внутренний fqdn для всех серверов.
Привет, ребята,
Я столкнулся с той же проблемой для localhost и понял, что «$ ssh localhost» запрашивает пароль. Я решил это, переместив открытый ключ пользователя на локальном хосте в authorized_key.
ssh-copy-id -i ~ / .ssh / id_rsa.pub test @ localhost
Просто проверьте, есть ли в файлах authorized_key необходимые ключи
test - это имя пользователя
Вау ..... Я прочитал комментарии. Не могу поверить, что проблемы все еще существуют. Я использую последний доступ. Думаю, это одна из проблем использования открытого исходного кода.
vagrant<strong i="6">@mgmt</strong>:~$ ansible lb -u vagrant -m ping -vvv
ansible 2.7.8
config file = /home/vagrant/ansible.cfg
configured module search path = [u'/home/vagrant/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609]
Using /home/vagrant/ansible.cfg as config file
[DEPRECATION WARNING]: [defaults]hostfile option, The key is misleading as it can also be a list of hosts, a directory or a list of paths , use [defaults] inventory=/path/to/file|dir
instead. This feature will be removed in version 2.8. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
/home/vagrant/inventory.ini did not meet host_list requirements, check plugin documentation if this is unexpected
/home/vagrant/inventory.ini did not meet script requirements, check plugin documentation if this is unexpected
/home/vagrant/inventory.ini did not meet yaml requirements, check plugin documentation if this is unexpected
Parsed /home/vagrant/inventory.ini inventory source with ini plugin
[WARNING]: Found both group and host with same name: lb
META: ran handlers
<lb> ESTABLISH SSH CONNECTION FOR USER: vagrant
<lb> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=vagrant -o ConnectTimeout=10 -o ControlPath=/home/vagrant/.ansible/cp/2302ac11ec lb '/bin/sh -c '"'"'echo ~vagrant && sleep 0'"'"''
<lb> (255, '', 'Permission denied (publickey).\r\n')
lb | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey).",
"unreachable": true
}
Хорошо, вот что сработало для меня -
Я зашел на удаленную машину фунт . отредактировал ~ / .ssh / authorised_keys и добавил ключ id_rsa.pub доступного мастера. Сохранено и закрыто. Закинул sshd на фунт.
Это не идеальный способ, но он поможет вам пройти первоначальное тестирование.
Изменить 1. Кроме того, вам необходимо убедиться, что на удаленном компьютере (клиент, который будет управляться с помощью ansible) должен быть установлен python.
PS - даже метод ssh-copy-id -i не удался для меня с той же ошибкой отказа в разрешении (publickey)
бродяга @ mgmt : ~ $ ansible lb -m ping -vvv
доступный 2.7.8
файл конфигурации = /home/vagrant/ansible.cfg
настроенный путь поиска модуля = [u '/ home / vagrant / .ansible / plugins / modules', u '/ usr / share / ansible / plugins / modules']
расположение модуля ansible python = /usr/lib/python2.7/dist-packages/ansible
расположение исполняемого файла = / usr / bin / ansible
версия python = 2.7.12 (по умолчанию, 12 ноября 2018 г., 14:36:49) [GCC 5.4.0 20160609]
Использование /home/vagrant/ansible.cfg в качестве файла конфигурации
[ПРЕДУПРЕЖДЕНИЕ ОБ УСТАРЕВАНИИ]: параметр [defaults] hostfile. Ключ вводит в заблуждение, так как это также может быть список хостов, каталог или список путей, используйте [defaults] inventory = / path / to / file | dir
вместо. Эта функция будет удалена в версии 2.8. Предупреждения об устаревании можно отключить, установив deprecation_warnings = False в ansible.cfg.
/home/vagrant/inventory.ini не соответствует требованиям host_list, проверьте документацию плагина, если это неожиданно
/home/vagrant/inventory.ini не соответствует требованиям скрипта, проверьте документацию плагина, если это неожиданно
/home/vagrant/inventory.ini не соответствует требованиям yaml, проверьте документацию плагина, если это неожиданно
Анализ источника инвентаря /home/vagrant/inventory.ini с помощью плагина ini
[ВНИМАНИЕ]: обнаружены и группа, и хост с тем же именем: lbMETA: запущенные обработчики
УСТАНОВИТЬ SSH-СОЕДИНЕНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЯ: Нет
SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey -o PasswordAuthentication = no -o ConnectTimeout = 10 -o ControlPath = / home / vagrant / .ansible / cp / e51df67eb4 lb '/ bin / sh -c' "'"' echo ~ && sleep 0 '"'" ''
(0, '/ главная / бродяга \ п', '')
УСТАНОВИТЬ SSH-СОЕДИНЕНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЯ: Нет
SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey -o PasswordAuthentication = no -o ConnectTimeout = 10 -o ControlPath = / home / vagrant / .ansible / cp / e51df67eb4 lb '/ bin / sh -c' "'"' (umask 77 && mkdir -p "
echo /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286
" && echo ansible-tmp-1552670816.4-42574892310286 = "echo /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286
") && спать 0 '"'" ''(0, 'ansible-tmp-1552670816.4-42574892310286 = / home / vagrant / .ansible / tmp / ansible-tmp-1552670816.4-42574892310286 \ n', '')
Использование файла модуля /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.pyPUT /home/vagrant/.ansible/tmp/ansible-local-2173_L8KXK/tmpXoK8R8 TO /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286/AnsiballZ_ping.py
SSH: EXEC sftp -b - -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey -o PasswordAuthentication = no -o ConnectTimeout = 10 -o ControlPath = / home / vagrant / .ansible / cp / e51df67eb4 '[фунт]'
(0, 'sftp> положить /home/vagrant/.ansible/tmp/ansible-local-2173_L8KXK/tmpXoK8R8 /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286/AnsiballZ_ping.py\n', ')
УСТАНОВИТЬ SSH-СОЕДИНЕНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЯ: Нет
SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey -o PasswordAuthentication = no -o ConnectTimeout = 10 -o ControlPath = / home / vagrant / .ansible / cp / e51df67eb4 lb '/ bin / sh -c' "'"' chmod u + x /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286/ / home /vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286/AnsiballZ_ping.py && sleep 0 '"'" ''
(0, '', '')
УСТАНОВИТЬ SSH-СОЕДИНЕНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЯ: Нет
SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey -o PasswordAuthentication = no -o ConnectTimeout = 10 -o ControlPath = / home / vagrant / .ansible / cp / e51df67eb4 -tt lb '/ bin / sh -c' "'"' / usr / bin / python /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4- 42574892310286 / AnsiballZ_ping.py && sleep 0 '"'" ''
(0, '\ r \ n {"invocation": {"module_args": {"data": "pong"}}, "ping": "pong"} \ r \ n', 'Общее соединение с lb закрыто. \ r \ n ')
УСТАНОВИТЬ SSH-СОЕДИНЕНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЯ: Нет
SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentication = gssapi-with-mic, gssapi-keyex, hostbased, publickey -o PasswordAuthentication = no -o ConnectTimeout = 10 -o ControlPath = / home / vagrant / .ansible / cp / e51df67eb4 lb '/ bin / sh -c' "'"' rm -f -r /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286/> / dev / null 2> & 1 && sleep 0 '"'" ''
(0, '', '')
фунт | УСПЕХ => {
"изменено": ложь,
"invocation": {
"module_args": {
"данные": "понг"
}
},
"настольный теннис"
}
Самый полезный комментарий
Хорошо,
Когда вы указываете
all
в своей команде, это немного сложно отлаживать.Прокомментируйте все строки в вашем
hosts
файле, добавьте эту строкуи попробуйте запустить:
И покажи мне результат.
С Уважением