需求
现在准备搭建三台服务器做一个hadoop集群,他们的信息分别是:
主机名 | 服务器地址 | 操作系统 |
---|---|---|
hadoop001 | 192.168.88.10 | centos 7 |
hadoop002 | 192.168.88.11 | centos 7 |
hadoop003 | 192.168.88.12 | centos 7 |
需求就是让他们相互之间能够免密访问。
基本操作
-
切换到用户目录下:
cd ~
-
生成密钥:
ssh-keygen -t rsa
-
将公钥放置在授权文件中:
cat id_rsa.pub > ./authorized_keys
-
授权文件授予600权限:
chmod 600 authorized_keys
-
依次在这三台机器创建自己的公钥和私钥。
授权操作
hadoop002,hadoop003依次将各自主机的公钥发送给hadoop001
cat ~/.ssh/id_rsa.pub | ssh root@hadoop001 'cat >> ~/.ssh/authorized_keys'
目的是为了形成一个拥有所有需要授权服务器的完整的公钥文件。因为hadoop001已经在基本操作中生成了自己的公钥文件,所以现在需要的是其他主机的公钥文件。
hadoop01将授权文件再复制给其他主机
-
scp -r ~/.ssh/authorized_keys root@hadoop002:~/.ssh/
-
scp -r ~/.ssh/authorized_keys root@hadoop003:~/.ssh/
之前的操作是汇集所有的服务器的公钥文件,现在将这个完整的公钥文件再分给每台服务器,这样他们相互之间可以通过公钥访问任意一台服务器而不需要密码了。
网友评论