LINUX.ORG.RU
решено ФорумAdmin

Что случилось с оркестрацией после перехода на юзера и ключ?

 


0

1

Раньше работал ansible с доступом по паролю и рутом. Всё было хорошо, но пришлось запретить доступ ssh по паролю и доступ по ssh руту.

Создал юзера для ansible, сделал ему ключ, скопировал на сервер в authorized_keys. Запускаю команду ansible -m ping freebsd-d – не работает:

> ansible -m ping freebsd-d                                    [0]
freebsd-d | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: no such identity: /home/ansible/.ssh/id_rsa: Permission denied\r\nansible@192.168.1.122: Permission denied (publickey).",
    "unreachable": true
}

ansible -m ping all -vvv : https://paste.ee/p/bmpcU

Разумеется перед этим везде в файлах заменил root на имя юзера: ansible.

hosts:

[freebsd]
freebsd-d ansible_ssh_host=192.168.1.122

[all:vars]
from_ansible_python_path=/usr/local/bin/python3.9

[freebsd:vars]
ansible_user='ansible'
ansible_ssh_private_key_file='/home/ansible/.ssh/id_rsa'

ansible.cfg:

[defaults]
inventory = hosts 
remote_user = ansible 
roles = ./roles
host_key_cheking = False 
private_key_file = /home/ansible/.ssh/id_rsa 
#private_key_file = /root/.ssh/id_rsa 
> ls -l /usr/bin/python                                      [130]
lrwxr-xr-x  1 root  wheel  24 25 нояб. 18:40 /usr/bin/python -> /usr/local/bin/python3.9

Сам юзер ansible может заходить по ключу через ssh.

★★★★★

Ответ на: комментарий от slowpony

Достаточно одной команды ls -al /home/ansible/.ssh которая выведет все три нужные записи.

Ну и как бы то ни было, юзер, от которого запускается ansible на компе с конфигами, не может прочитать id_rsa из-за проблем с правами, написано же.

firkax ★★★★★
()
Ответ на: комментарий от pekmop1024

Нет. Я запускал от своего юзера..

Сейчас попробовал от юзера ansible:

$ ansible -m ping freebsd-d
[WARNING]: Platform freebsd on host freebsd-d is using the discovered Python interpreter at
/usr/local/bin/python3.9, but future installation of another Python interpreter could change the
meaning of that path. See https://docs.ansible.com/ansible-
core/2.13/reference_appendices/interpreter_discovery.html for more information.
freebsd-d | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/local/bin/python3.9"
    },
    "changed": false,
    "ping": "pong"
}
Clockwork ★★★★★
() автор топика