通过两台linux主机配置ssh实现互相免密登陆

​1.SSH协议的工作过程

第一阶段:TCP三次握手版本协商过阶段(高版本能兼容低版本–同一版本才能建立连接):

SSH目前包括SSH1和SSH2两个版本,双方(即客户端和服务器)通过版本协商确定使用的版本

先响应服务端的版本,再响应客户端的版本

第二阶段:协商算法和确定对称秘钥阶段

SSH支持多种加密算法,双方根据本端和对端支持的算法,协商出最终使用的算法

(1)确认秘钥和加密算法:

秘钥交换的算法(dh迪菲-赫尔曼算法)

主机秘钥的算法(默认主机所支持的密钥)–对称算法DSA,非对称算法RSA

加密算法

完整性校验的算法 :MD5

压缩算法 (发送端对数据进行压缩,接收端进行解压缩,并确保数据的完整性–安全性)

(2)进行秘钥交换:dh迪菲-赫尔曼算法

第三阶段:认证阶段:

SSH客户端向服务器端发起认证请求,服务器端对客户端进行认证

第四阶段:会话请求阶段:

认证通过后,客户端向服务器端发送会话请求

第五阶段:交互会话阶段

会话请求通过后,服务器端和客户端进行信息的交互

2.SSH服务配置

[root@localhost ~]# rpm -qa | grep ssh  ---查看是否安装openssh软件
libssh-0.9.6-7.oe2203sp2.x86_64
openssh-8.8p1-20.oe2203sp2.x86_64
openssh-server-8.8p1-20.oe2203sp2.x86_64
openssh-clients-8.8p1-20.oe2203sp2.x86_64

判断ssh程序是否运行(有下列几种方式):

[root@localhost ~]# lsof -i:22  ---通过端口号
[root@localhost ~]# rpm -qa | grep ssh
[root@localhost ~]# netstat -tunlpa | grep ssh --基于ssh所监听的信息
[root@localhost ~]# systemctl status sshd --当前sshd服务的状态(默认)

查看远程连接所提供的配置文件:

[root@localhost ~]# rpm -ql openssh-server

客户端:

ssh-keygen -t rsa 		--生成公钥登录信息
ssh-copy-id 用户名@ip地址 --将公钥信息发送给服务端
ssh 用户名@ip地址 		--实现ssh登录
服务端:ll /root/.ssh 	--查看客户端的公钥信息是否发送过来 

3.对两台主机进行相同配置即可形成互相免密登陆

你可能感兴趣的:(linux,ssh,服务器)