今天在配置两台虚拟机之间免密登录的时候,一台为Master,一台为Salve01,配置完成后免密登录还是不起作用,在ssh Slave01 时还是会提示输入Slave01 的密码。
以下是我的配置步骤:
- cd ~/.ssh #进入主文件夹下的.ssh目录
- rm ./id_rsa* #删除之前生成的公钥和私钥
- ssh-keygen -t rsa #生成公钥和私钥,接下来一直回车
- scp ~/.ssh/id_rsa.pub Slave01:/root/ #把公钥传到Slave01的根目录下
- mkdir ~/.ssh #如果Slave01下不存在此文件夹需要重新创建
- cat ~/id_rsa.pub >> ~/.ssh/authorized_keys #在Slave01机器中将根目录中的公钥写入authorized_keys中
在网上找了很久失败的原因,有个原因就是子文件的权限问题,.ssh目录下authorized_keys的文件权限是600或者644,使用chmod 600 authorized_keys两个虚拟机都设置完成后,尝试免密登录还是没有效果。
于是继续找解决方法,遂找到一篇文章里说,可能是.ssh的父目录的权限问题导致失败,后来经过尝试果真如此。.ssh 目录的父目录是~,即用户主目录,使用chmod 755 ~更改权限之后,成功。