Ссылка на частный ключ SSH между двумя компьютерами - PullRequest
0 голосов
/ 19 сентября 2019

Я новичок в администрировании серверов, и я вижу, если кто-то может помочь.Любой совет очень важен.

Я столкнулся с этой проблемой при настройке моего сервера Centos7 с Ansible.В моем файле ansible.cfg в (/ etc / ansible / на сервере) закрытый ключ требует ссылки (private_key_file = / path / to / file).Я предполагаю, что именно поэтому я получаю «Отказано в доступе» при попытке пропинговать все хосты.

Мне интересно, как я могу ссылаться на закрытый ключ, который я использую для подключения к серверу со своей машины.Если это даже причина «Отказано в доступе».У меня есть личный ключ и открытый ключ на моем компьютере, а содержимое открытого ключа скопировано в файл .ssh / authorized_keys сервера.

Общий доступ к файлам на моем Macbook выключен. Я не верю, что это необходимо для ssh, поскольку я могу подключиться к серверу.

Неудачные попытки установить соединение с моим именем пользователя (а не ни одним)

Код, который я использовал: ansible -m ping all -vvv

host1 | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).", "unreachable": true } host2 | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).", "unreachable": true }

1 Ответ

0 голосов
/ 20 сентября 2019

Сообщение указывает, что, скорее всего, ssh-ключ не предоставлен.Проверьте, действительно ли Ansible использует файл ansible.cfg, который вы использовали для конфигурации:

$ ansible --version
ansible-config 2.7.8
  config file = None
  configured module search path = [u'/home/ec2-user/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python2.7/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 2.7.16 (default, Jul 19 2019, 22:59:28) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

В качестве альтернативы вы можете прикрепить файл ключа непосредственно в команду ansible, например:

ansible -m ping hosts --private-key=~/.ssh/keys/id_rsa -u <desiredUsername>

См.https://ansible -tips-and-tricks.readthedocs.io / en / latest / ansible / commands / # running-ansible-as-a-Different-user для справки.

Естьтакже вероятность того, что вы используете неправильный закрытый ключ.Вы должны использовать закрытый ключ вашей целевой машины.Чтобы создать пару ключей, посмотрите этот пример здесь:

https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...