linux下多节点之间,免密钥访问实现

有兴趣想学习国内整套Spark+Spark Streaming+Machine learning最顶级课程的,可加我qq  471186150。共享视频,性价比超高!



明:

  • 目前安装了4个Redhat linux操作系统,主机名分别为hadoop01,hadoop02,hadoop03,hadoop04
  • 其中hadoop01为主节点,hadoop02,hadoop03,hadoop04为从节点
  • 四个节点ip地址为192.168.10.61~64.
  • 如果不修改hosts文件,从第二部开始可将hadoop01~04改为所对应的ip地址,如第4步中的scp ~/.ssh/id_rsa.pub root@hadoop02:~命令可改为scp ~/.ssh/id_rsa.pub [email protected]:~

第1步:hosts文件修改(可选)

如果将来想采用ssh 主机名的方式来访问其余节点,请确保各个节点上的hosts文件下有对各个ip以及主机名的映射,可通过如下命令进行查看

cat /etc/hosts
  • 1
  • 1

linux下多节点之间,免密钥访问实现_第1张图片 
如果没有将ip地址与主机名相对应,请按照如上所示,修改hosts文件

vim /etc/hosts
  • 1
  • 1

第2步:生成密钥对

每个节点上执行如下命令来生成密钥对,一直点击回车即可

ssh-keygen -t rsa -P ''
  • 1
  • 1

linux下多节点之间,免密钥访问实现_第2张图片

第3步:本机ssh访问

每个节点上执行如下命令将公钥文件写入授权文件中,并赋值权限

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
  • 1
  • 2
  • 1
  • 2

在每个节点上可通过输入两次ssh 本节点主机名命令来验证(注意,第一次输入ssh 本节点主机名会询问,输入yes,以后就不需要输入密码了) 
linux下多节点之间,免密钥访问实现_第3张图片

第4步:主节点到从节点无密码ssh访问

主节点分别执行如下命令将主节点的公钥文件拷贝到从节点上(注意,当进行远程拷贝的时候会要求输入节点的密码)

scp ~/.ssh/id_rsa.pub  root@hadoop02:~
scp ~/.ssh/id_rsa.pub  root@hadoop03:~
scp ~/.ssh/id_rsa.pub  root@hadoop04:~
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

scp 
从节点中执行如下命令,将主节点的公钥追加到授权文件中

cat  ~/id_rsa.pub >>  ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm ~/id_rsa.pub
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

linux下多节点之间,免密钥访问实现_第4张图片 
主节点中执行如下命令,实现主节点到从节点无密码访问

ssh hadoop02
exit
ssh hadoop03
exit
ssh hadoop04
exit
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

linux下多节点之间,免密钥访问实现_第5张图片

第5步:从节点到主节点无密码ssh访问

在每个从节点上执行如下命令,实现从节点到主节点的无密码访问

cd  
cd  .ssh
ssh-copy-id -i id_rsa.pub root@hadoop01
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

linux下多节点之间,免密钥访问实现_第6张图片

在每个从节点上执行如下命令,验证从节点到主节点无密码ssh访问。

ssh hadoop01
  • 1
  • 1

linux下多节点之间,免密钥访问实现_第7张图片

你可能感兴趣的:(linux下多节点之间,免密钥访问实现)