首先要保证公钥已经添加到了目标机器的authorized_keys文件中,如果没添加按照下面步骤先走一遍:
1.客户端生成公私钥
本地客户端生成公私钥:(一路回车默认即可)
ssh-keygen
上面这个命令会在用户目录.ssh文件夹下创建公私钥
cd ~/.ssh
ls
下创建两个密钥:
id_rsa (私钥)
id_rsa.pub (公钥)
2.上传公钥到服务器
这里测试用的服务器地址为:192.168.235.22
用户为:root
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.235.22
上面这条命令是写到服务器上的ssh目录下去了
cd ~/.ssh
vim authorized_keys
可以看到客户端写入到服务器的 id_rsa.pub (公钥)内容。
3.测试免密登录
客户端通过ssh连接远程服务器,就可以免密登录了。
ssh root@192.168.235.22
上面操作都执行了但是仍然没有实现免密登录,则走以下步骤:
1、使用密码登录到目标机器,进入你想使用的角色目录下如/home/sxp
2、查看.ssh文件夹下文件的权限
cd .ssh
ll
3、将authorized_keys文件的权限改成600(只有自己能访问)
sudo chmod 600 authorized_keys
4、退出 重新尝试登录,就可以实现免密登录了