每台主机authorized_keys文件里面包含想要免密登录主机的ssh公钥,就能实现免密登录,所以只要每台主机的authorized_keys文件里面都放入其他主机(需要无密码登录的主机)的ssh公钥就行了。

    配置服务器集群的hosts文件,方便标识
    -> vim /etc/hosts
    10.0.27.132 hadoop.master01
    10.0.27.133 hadoop.slave01
    10.0.27.134 hadoop.slave02

    在主节点上生成ssh密钥:
    -> ssh-keygen -t rsa
    -> cd ~/.ssh/

    在主节点上将公钥拷到一个特定文件authorized_keys中
    -> cp id_rsa.pub authorized_keys

    使用scp命令把主节点上的authorized_keys分发到其它节点,按照第一步的命名生成其它节点的ssh密钥,并把公钥追加到authorized_keys文件中:
    -> scp authorized_keys root@hadoop.slave01:/root/.ssh/
    -> cat id_rsa.pub >> authorized_keys

    最后将所有服务器的公钥都添加好authorized_keys文件通过scp命令重新分发到集群中的所有服务器,完成后就可以使用ssh username 的命令互相免密登录。
    -> ssh hadoop.slave01

    重点是authorized_keys文件内拥有所有服务器的公钥内容