ssh设置免密码登录网上有很多教程,通过这些教程一步一步设置,发现最后使用 ssh serverXXX命令执行还是需要输入密码,之前的免密码设置完全没效果。
纠结了很长时间,期间重新设置,重启之类的都试过,完全没有效果,之后网上看到,可能的原因是因为~/.ssh文件夹和authorized_keys文件的权限不对
接着敲命令:chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
发现还是不行。。。
解决办法:期间看到有人说,这个权限设置必须在执行 ssh-keygen -t rsa 命令之前,需要删除原先配置的ssh文件,之后重新配置
在测试的时候可以先 ssh localhost 进行本地测试,如果这时候不需要密码登录,再验证其他机器
ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
exit # 退出刚才的 ssh localhost
ssh localhost # 测试是否配置成功
授权其他机器的时候尽量用命令复制,手动复制容易导致授权失败!
我使用了三个虚拟机进行测试
生成的文件:
验证的效果:本地hserver1, 然后ssh hserver2
验证成功!!!