集群服务器之间免密登录

假设现在集群是3台服务器hadoop1,hadoop2,hadoop3

  首先保证主机名、hosts、防火墙正确设置

  1、配置每个节点本身公钥和免密(其实第二行只在hadoop1上执行即可,其余节点最后会发送,没必要执行)

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

  现在每台节点本身实现免密

  2、将除hadoop1之外所有节点的公钥复制到hadoop1,这里是将hadoop2,hadoop3的公钥拷贝到hadoop1的authorized_keys,目的是实现hadoop2,hadoop3登录hadoop1实现免密,而反过来不行

ssh-copy-id -i ~/.ssh/id_dsa.pub hadoop1 # 在hadoop2上执行
ssh-copy-id -i ~/.ssh/id_dsa.pub hadoop1 # 在hadoop3上执行

  3、实现最终集群所有节点互相免密

  现在hadoop1保存了所有节点的公钥,那么这个时候应该发送hadoop1上的authorized_keys到其他节点

scp ~/.ssh/authorized_keys hadoop2:~/.ssh/
scp ~/.ssh/authorized_keys hadoop3:~/.ssh/

  至此集群3台主机任意节点之间免密完成

  免密的核心思想就是:如果A服务器authorized_keys有B服务器的公钥,那么B服务器可以免密登录A服务器...

你可能感兴趣的:(AI)