“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情”
1. 配置控制主机SSH密钥
sudo ssh-keygen -t rsa
如果有rsa文件,可以不用生成
注: 如果在生成密钥的时候设置了密码,ansible每次执行命令的时候,都会提示输入密钥密码,可通过下面的命令记住密码。
ssh-agent bsh
ssh-add ~/.ssh/id_rsa
2. 将公钥拷贝到管理主机中.ssh/authorized_keys文件中,实现免密码登录远程管理主机
ssh-copy-id -i ~/.ssh/密钥文件.pub 主机账户@主机地址
示例:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.200
3. 验证
ssh root@10.10.1x.xx
无需密码直接进入服务器,如果需要输入密码则配置错误,需检查配置
4. 常见错误
公钥传输后,服务器登录仍需密码
需检查服务器是否开启密钥
如下:
Port 22
PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
PasswordAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
UseLogin yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server