【Linux】SSH免密登录机制
原理
weekend110
主机请求登录spark01
主机(登录时会带上用户名和主机名)。spark01
主机查看自己的授权列表,发现授权列表中存在weekend110
主机的公钥。spark01
主机使用weekend110
主机的公钥加密一个随机字符串发送给weekend110
主机。weekend110
主机使用公钥对应的私钥解密spark01
主机发过来的密文,解密结果应该就是那个随机字符串。weekend110
主机将解密结果(那个随机字符串)发送给spark01
主机。spark01
主机验证解密结果。spark01
主机告知weekend110
主机通过验证,可以登录。
操作
生成秘钥对
- 在
centos1
主机上生成秘钥对:
秘钥默认生成在主目录下的
.ssh
目录下面。
- 进入到
.ssh
目录:
id_rsa.pub
:公钥
id_rsa
:私钥。
复制公钥
- 使用
scp
远程拷贝命令将id_rsa.pub
拷贝到centos9
主机上
也可以使用
ssh-copy-id
命令:ssh-copy-id centos9
,他会自动将公钥拷贝到authorized_keys
文件中
- 登录
centos9
,查看id_rsa.pub
是否拷贝成功:
- 加入授权列表,将
id_rsa.pub
添加到centos9
主机上的authorized_keys
文件中:
测试
在centos1
主机上直接使用ssh
命令登录centos9
主机:
可以看到此时在centos1
主机上登录centos9
主机不需要输入密码了。
评论区