配置 SSH 免密登录遇到的坑

最近在学校做一个云计算大赛,需要搭建一个 hadoop 的平台(一共四台服务器,这是一个怎样的 hadoop 啊),搭建的中途遇到一个小插曲。
由于需要四台服务器能够互相免密访问,我们需要将四台服务器的公钥互相上传到各个机器,首先运行

1
ssh-keygen -t rsa

然后一直回车,最后会在你主目录下生成一个.ssh目录,其中的id_rsa是你的密钥,id_rsa.pub是你要上传的公钥,known_hosts是你连接过的主机的信息

我们需要在.ssh目录下建立一个authorized_keys文件,将各个主机的公钥信息存储在该文件下,然后各个主机就可以通过ssh免密登录了,至于具体的原理,大家可以网上自行科普一下,无非是一些加密解密的过程。

然而就在我以为万无一失的时候,造化弄人,我不管怎么搞都需要输密码,试过改ssh的配置文件也无法解决,最后google到一个解决方法,说是目录的和文件的权限问题,.ssh目录的权限必须得是700,而文件authorized_keys的权限必须是644,而我当时是664,这才导致无法进行免密登录,这里大家需要注意一下权限的问题,即使权限放大了也是不行的!