目标:完成A机器ssh到B机器免密
一: 在A机器/root/.ssh目录下生成密钥文件
ssh-keygen -b 4906 -t rsa
完成后会生成两个文件
二 将A机器的id_rsa.pub内容添加到B机器的 /root/.ssh/authorized_keys
ssh-copy-id root@B机器IP
完成后在B机器authorized_keys 文件中可以看到A机器生成的id_rsa.pub文件内容
三 将B机器的密钥登陆开启
编辑 /etc/ssh/sshd_config 文件
将
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile ~/.ssh/authorized_keys
注释取消,
设置
PubkeyAuthentication yes //允许使用基于密钥认证的方式登陆
此时测试A服务器直接登录B就不用密码了
测试过程中如果出现 无法免密的情况,需要看 日志: sudo tail -f /var/log/secure 根据对应的错误信息解决
比如楼主本人一次操作中就出现了无法免密的情况,查看错误信息后发现报错如下
Authentication refused: bad ownership or modes for file /home/admin/.ssh/authorized_keys
原因是 authorized_keys 文件是我自己手动创建的,然后创建的权限不对,这个文件需要的权限是700
然后 sudo chmod 700 /home/admin/.ssh/authorized_keys 执行之后可以正常免密了