在学习防火墙规则时,会基于port端口添加一些过滤规则,如果想验证这些规则是否生效,就需要一种简单高效的方式,和主机的端口进行通信,然后根据通信结果,判断防火墙规则有没有起到拦截的作用,这种简单高效的方式,就是ssh远程连接
ssh协议
Secure Shell,安全外壳协议,简称ssh,是一种建立在应用层基础上的安全协议,通过对密码进行加密传输验证,可在不安全的网络中对网络服务提供安全的传输环境,实现ssh客户端和ssh服务器端的连接,所以ssh是基于C/S结构的
ssh协议建立连接的过程为:
-
tcp三次握手
-
ssh协议版本协商
-
服务器端把公钥发给客户端
-
加密算法协商
-
客户端使用公钥对服务器端的密码加密并发送给服务器端
-
服务器端收到后用自己的私钥解密后得到用户名密码和本地密码对比,验证成功允许登录,否则需要客户端再次输入密码验证
ssh是应用层协议,它的传输层协议是tcp,所以在ssh登录之前必定会有tcp连接
ssh是C/S架构,客户端通过ssh协议远程登录服务器端,所以它必须要有服务器端的密码,并发送给服务器端,以便服务器验证成功后,才能运行客户端登录自己
上面是协议的部分,我们想实现的其实是如何远程登录,用到的软件是什么?
openssh
openssh是ssh协议的免费开源实现,有一个独立守护进程sshd
可以在Linux系统中安装openssh的服务端程序openssh-server,而客户端应用程序在Linux系统中默认是安装的
openssh服务可以通过/etc/ssh/sshd_config文件进行配置
下面我们看一下如何在两台ubuntu电脑间建立ssh远程登录连接
电脑上首先要确保安装了openssh-client和openssh-server程序
查看是否安装openssh-client或openssh-server
更多内容,请关注汽车网络诊断通信