Ansible:管理框使用 SSH 身份验证的多个用户

Ansible:管理框使用 SSH 身份验证的多个用户

我可以使用一些指导。我有一个安装了 Ansible 的管理框,需要在多个系统上创建用户,并使用 SSH 身份验证。

我创建了我的 SSH 密钥,并将密钥添加到 Ansible Playbook,当我执行该剧本时,它会在管理箱和远程服务器上创建用户,并将密钥复制到远程服务器。

  • 这只能在 root 权限下,开启 SSH 身份验证的情况下完成

下面显示已创建用户“Ansible”,并且已在管理框和远程服务器上创建该用户。它还复制了密钥。但是,我无法使用 SSH 身份验证进行身份验证。

AdminBox:CentOS Linux 版本 7.3.1611(核心)- 10.6.16.235

[ansible@SELC01 ~]$ ls /etc/ansible/pub_key/
ansible  ansible.pub
[ansible@SELC01 ~]$ cat /etc/ansible/pub_key/ansible.pub
ssh-rsa AAAAB3NzaC1yc2EA.....Qys0/V ansible@localhost
[ansible@SELC01 ~]$
[ansible@SELC01 ~]$ cat /home/ansible/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EA.....Qys0/V ansible@localhost
[ansible@SELC01 ~]$
[ansible@SELC01 ~]$ groups
ansible root wheel

[ansible@SELC01 ~]$ cat /home/ansible/.ssh/known_hosts...
10.6.16.106 ecdsa-sha2-nistp256 AAAAE2VjZHNh.....

服务器:CentOS Linux 版本 7.3.1611(核心)- 10.6.16.106

[ansible@SELC02 ~]$ cat /home/ansible/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EA......Qys0/V ansible@localhost
[ansible@SELC02 ~]$
[ansible@SELC02 ~]$ groups
ansible root wheel

管理员框:CentOS Linux 版本 7.3.1611(核心)- 10.6.16.235

[ansible@SELC01 ~]$ ssh [email protected]
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
[ansible@SELC01 ~]$

不确定为什么我被拒绝访问。因此,用户 Ansible 将成为配置用户;创建账户,以便其他用户可以登录管理框以在其他系统上执行维护,例如 10.6.16.106

感谢您的帮助。

答案1

您的ssh客户端对您生成的密钥一无所知。您需要将它们放入~/.ssh子目录中或创建~/.ssh/config指向您的 SSH 密钥的目录:

Host 10.6.16.106
  IdentityFile /etc/ansible/pub_key/ansible

相关内容