RedHat虚拟机配置ssh免密登录无效的问题解决

  今天在配置两台虚拟机之间免密登录的时候,一台为Master,一台为Salve01,配置完成后免密登录还是不起作用,在ssh Slave01 时还是会提示输入Slave01 的密码。

以下是我的配置步骤:

  1. cd ~/.ssh     #进入主文件夹下的.ssh目录
  2. rm ./id_rsa*    #删除之前生成的公钥和私钥
  3. ssh-keygen -t rsa    #生成公钥和私钥,接下来一直回车
  4. scp ~/.ssh/id_rsa.pub Slave01:/root/    #把公钥传到Slave01的根目录下
  5. mkdir ~/.ssh    #如果Slave01下不存在此文件夹需要重新创建
  6. cat ~/id_rsa.pub >> ~/.ssh/authorized_keys    #在Slave01机器中将根目录中的公钥写入authorized_keys中
  按照步骤完成后,尝试在Master下使用ssh Slave01,遗憾的是并没有设置成功,还是提示需要输入密码。

  在网上找了很久失败的原因,有个原因就是子文件的权限问题,.ssh目录下authorized_keys的文件权限是600或者644,使用chmod 600 authorized_keys两个虚拟机都设置完成后,尝试免密登录还是没有效果。

  于是继续找解决方法,遂找到一篇文章里说,可能是.ssh的父目录的权限问题导致失败,后来经过尝试果真如此。.ssh 目录的父目录是~,即用户主目录,使用chmod 755 ~更改权限之后,成功。




你可能感兴趣的:(linux)