SSH协议原理

一、ssh连接原理

1、环境介绍

两台linux服务器

分别安装ssh服务

2、原理以及过程

在A上使用ssh协议连接B

A向比发送连接请求

B收到请求后,将自己的公钥发给A

A收到公钥后,用公钥加密B的登陆密码,生成加密密文,发送给B

B收到加密密文后,用自己的私钥解密,得到解密信息,然后与B的登陆密码做比较,正确则允许A登陆。

 二、ssh免密登陆

1、环境介绍

A/B两台装有ssh协议的linux机器

在A机器上生成秘钥对

将A的公钥加入到B机器上指定的位置

介绍一下~/.ssh/目录下的几个文件:

1、id_rsa 生成的秘钥

2、id_rsa.pub 生成的公钥

3、authorized_keys 存放远程连接主机的公钥,一行一个公钥,权限为600

4、know_hosts (该文件不会立刻生成)存放被连接的主机的公钥,下次连接时会核对公钥是否一致,若不一致,则发出相应警报,作用是避免安全攻击,比如说DNS劫持等。

若出现异常会显示下图的提示,只要删除know_hosts文件里冲突的公钥即可。

通过以下命令实现秘钥的创建与免密登陆的操作:

 此时,便可以免密连接了。

2、免密连接原理及过程

A向B发送连接请求,并带上自己的公钥

B收到A的公钥,检查机器上的授权列表是否包含有A的公钥,若存在,再生成一个随机数,使用自己的公钥加密,生成加密密文发送给A

A收到加密密文后,用私钥解密,得到结果发送给B

B收到A发来的结果,与之前生成的随机数做比较,一致则允许A连接

 

posted @ 2023-06-09 22:10  Demo_one  阅读(24)  评论(0编辑  收藏  举报