Ansible基础教程之SSH密钥认证配置

Ansible基础教程之SSH密钥认证配置

  • SSH密钥认证配置

SSH密钥认证配置

Ansible认证方式有密码认证和公私钥认证,基于安全考虑,避免密码明文存放,Ansible默认使用公私钥认证。

使用ssh-keygen命令生成公私钥,passphrase设置为空。

[root@localhost ~]# ssh-keygen -N "" -b 4096 -t rsa -C "[email protected]"

此命令会在用户家目录~/.ssh/中生成两个文件,公钥id_rsa.pub和私钥id_rsa,务必把私钥文件保存好,不要随意泄露。

ssh默认配置使用~/.ssh/id_rsa作为认证私钥,所以如果生成密钥对时指定文件路径,需要修改/etc/ssh/ssh_config文件,添加私钥文件路径

[root@localhost ~]# vi /etc/ssh/ssh_config

IdentityFile ~/.ssh/tom_rsa

接下来使用ssh-copy-id命令将公钥文件添加到受管理的远程服务器。

[root@localhost ~]# ssh-copy-id -i .ssh/id_rsa.pub [email protected]

注意:如果以后的管理中需要使用sudo权限,远程服务器的用户rick需要配置visudo为NOPASSWD

rick ALL=(ALL) NOPASSWD: ALL

测试密钥认证,如不提示输入密码即可直接登录则表示成功

[root@localhost ~]# ssh '[email protected]

运行Ansible测试:

[root@localhost ~]# ansible -m ping all

你可能感兴趣的:(Ansible)