- 免密登录原理:密钥对有个公钥和私钥,私钥不能给别人,公钥要给别人,公钥会放在已授权的文件里。
- 流程:
A服务器
生成密钥对ssh-key-gen
(公钥A
和私钥A
);- 从
服务器A
将 密钥对 拷贝 到服务器B
中存放公钥的文件夹中; 服务器A
的ssh
访问服务器B
,发送数据(数据用私钥A
加密);服务器B
接收到数据,授权key
中查找公钥A
,并解密 数据;- 若在
服务器B
中找到A公钥
,则采用A公钥
加密 的数据 返回 给服务器A
; 服务器A
接收到数据之后用A私钥
解密数据。
- 配置ssh
- 使用命令
pwd
来到home
目录;
- 使用命令
ll -al
查看home
目录下的所有文件,找到.ssh
文件;
- 命令
cd .ssh/
进入该目录并查看该目录下的文件,找到known_hosts
;
- 由于之前对
hadoop102
和hadoop103
启动了免密登录,所以可以在hadoop102
和hadoop103
中找到.ssh
文件,但是在Hadoop104
中未找到.ssh
文件;
- 配置
hadoop102
无密访问hadoop103
和hadoop104
,输入ssh-keygen -t rsa
生成密钥对,敲三次回车
;
- 查看
.ssh
下生成的文件,生成了一个公钥文件id_rsa
和一个私钥文件id_rsa.pub
;
- 接通
hadoop102
和hadoop103
,命令ssh-copy-id hadoop103
把hadoop102
的公钥给hadoop103
,输入1
次密码后续即可进行免密登录;
- 在
hadoop102
上输入命令ssh hadoop103
开启免密登录,命令hostname
可以查看当前主机号,退出登录用命令exit
;
-
hadoop102
对hadoop104
同理;hadoop103
对hadoop102
,hadoop103
和hadoop104
同理。 -
用户
amelia
对hadoop103
和hadoop104
做免密登录,执行免密发送a.txt
,发送成功。
- 注意:要用到免密登录的用户,每一个都需要配置一下免密登录。