免密登录的原理
配置公钥私钥
在hadoop102上,首先进入自己的家目录
cd .ssh/
里面有个known_hosts
记录了谁曾经访问过102这台服务器
现在打算 配置 102能无密登录103和104 , (在家目录的.ssh/文件夹下输入)
ssh-keygen -t rsa
三次回车
生成以下文件
id_rsa 私钥
is_rsa.pub 公钥
拷贝公钥到hadoop103服务器
ssh-copy-id hadoop103
测试连接hadoop103服务器是否需要输入密码
ssh hadoop103
同理,拷贝到104服务器
ssh-copy-id hadoop104
你需要对102服务器配置一次
ssh-copy-id hadoop102
在.ssh文件夹下就会多一个authorized_keys文件
同理 对 103,104服务器,也对其他服务器进行免密登录
过程同102,略
hadoop102:如果此时切换到root用户,去ssh hadoop103 仍然是需要登录的。那么就需要在root用户下,通用去配置免密登录。操作同上。
配置完成后,去分发一个a.txt文件试试是否需要登录,结果是不需要登录。
[zuck@hadoop102 ~]$ xsync a.txt
==================== hadoop102 ====================
sending incremental file list
sent 55 bytes received 12 bytes 134.00 bytes/sec
total size is 4 speedup is 0.06
==================== hadoop103 ====================
sending incremental file list
a.txt
sent 106 bytes received 35 bytes 282.00 bytes/sec
total size is 4 speedup is 0.03
==================== hadoop104 ====================
sending incremental file list
a.txt
sent 106 bytes received 35 bytes 94.00 bytes/sec
total size is 4 speedup is 0.03
到此,ssh免密登录已经在三台服务器上配置完成了。以及免密分发。这样大大提高我们分发数据的效率。