我可以使用一些指导。 我有一个安装有Ansible的Admin Box,需要使用SSH身份validation在多个系统上创build用户。
我创build我的SSH密钥,将密钥添加到Ansible Playbook,当我执行剧本时,它会在pipe理员Box和远程服务器上创build用户,并将密钥复制到远程服务器。
下面,显示用户“Ansible”已经创build,并且在Admin Box和Remote Server上都创build了用户。 它也复制了密钥。 但是,我无法使用SSH身份validation进行身份validation。
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
Admin Box: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将成为供应用户; 创build账户,所以其他用户可以login到pipe理盒来执行其他系统的维护,例如10.6.16.106
感谢您的帮助。
你的ssh客户端不知道任何关于你生成的密钥。 你需要把它们放到~/.ssh子目录下,或者创build~/.ssh/config来指向你的SSH密钥:
Host 10.6.16.106 IdentityFile /etc/ansible/pub_key/ansible