1 SSH简介
SSH协议(Secure Shell,安全外壳)是一种需要进行加密和认证的,用于远程访问及文件传输的网络安全协议。
SSH功能类似于Telnet服务,但SSH基于加密和认证的特性可以为用户提供更强大的安全保障机制,在用户使用不安全的网络环境登录设备时,SSH能够有效保护设备不受IP地址欺诈、明文密码截取等攻击。
目前存在SSHv1和SSHv2两个版本,二者互不兼容。相比SSHv1,SSHv2能够提供更高的性能和安全性。
2 SSH基本结构
SSH协议基于客户端/服务器结构,客户端可以使用SSH协议登录到服务器,进行远程访问或文件传输等操作。
图2-1 SSH基本结构图
3 SSH基本交互流程
SSH客户端和SSH服务器交互流程可以分为以下七个阶段:建立连接、版本号协商、密钥交换与算法协商、用户认证、会话请求、会话交互和会话关闭。
(1) 建立连接阶段
a 服务器端监听TCP 22号端口,等待客户端的连接。
b 客户端向服务器的22号端口发起TCP连接请求,与服务器端建立起TCP连接。
(2) 版本号协商阶段
a 服务器端向客户端发送版本协商报文。
b 客户端接收并处理该报文后,回复服务端决定采用的协议版本号。
c 服务器端处理客户端回复的信息,确认协商版本成功与否。
(3) 密钥交换与算法协商阶段
若版本号协商成功,进入密钥交换与算法协商。
a 服务器端与客户端互相向对端发送算法协商报文,根据本端支持的算法来确定最终使用的算法。
b 服务器端与客户端利用密钥交换算法、主机密钥等相关信息,生成会话密钥与会话ID,利用它们进行后续的用户认证以及数据传输的加解密。
(4) 用户认证阶段
加密通道建立起来之后,进入用户认证阶段。
a 客户端向服务器端发送认证请求。
b 服务器端对客户端进行认证。若认证成功,则进入下一阶段;若认证失败次数达到上限,则服务器端关闭连接。
(5) 会话请求阶段
a 认证成功后,客户端向服务器端发送会话请求。
b 服务器等待并处理客户端的会话请求,请求被处理成功之后,SSH进入会话交互阶段。
(6) 会话交互阶段
会话请求成功后,进入会话交互阶段,允许加密数据双向传送与处理。
a 客户端将需要执行的命令发送给服务器。
b 服务器接收到命令后进行解密、解析并处理。
c 服务器将处理结果加密后发给客户端。
d 客户端收到服务器消息后进行解密与处理。
(7) 会话关闭阶段
服务器和客户端断开连接并关闭会话。
4 SSH远程登录实践
4.1 配置SSH服务器
大部分锐捷交换机和路由器都支持SSH客户端和SSH服务器功能,此处以锐捷交换机为例进行服务器配置(SSH端口号为可选配置,通过变更SSH端口号能够有效提高SSH的安全性)。
Ruijie> enable
Ruijie# configure terminal
Ruijie(config)# enable service ssh-server // 开启SSH服务器功能
Ruijie(config)# ip ssh version 2 // 使用SSHv2版本
Ruijie(config)# username test password Ruijie123 // 配置本地账号名test,密码Ruijie123
Ruijie(config)# ip ssh port 2000 //(可选)不配置时,默认SSH端口号为22
Ruijie(config)# line vty 0 4 // 配置VTY终端
Ruijie(config-line)# login local // 在VTY终端上开启SSH本地账号登录功能
4.2 配置SSH客户端
Linux和Windows系统上都有大量的SSH客户端可供使用,例如Linux系统可以直接通过Shell下的ssh命令进行登录,Windows系统上有Putty、SecureCRT等应用软件。此处以SecureCRT为例,使用SSH协议登录到上述的锐捷交换机上。
(1) 根据SSH服务器的配置,选择SSHv2协议,Hostname为SSH服务器IP,Port为SSH端口号,Authentication为支持的认证类型,并点击“Connect”按钮进行SSH远程登录。
(2) 第一次SSH远程登录该设备需要确认秘钥,点击“Accept Once”确认。
(3) 输入账户名和密码。
(4) 成功登录锐捷交换机设备,可以在设备上执行各种管理操作。
5 SSH安全性
SSH客户端与SSH服务器的所有交互数据都是经过加密的,即使在不安全的网络环境下,也可以较好地避免用户信息和交互数据泄露的风险。以下使用Telnet协议来进行对比,通过Wireshark抓包确认Telnet报文和SSH报文对账号信息是否有做加密处理。
5.1 Telnet登录报文
如下图所示,使用Telnet远程访问服务器时(账号名test,密码Ruijie123),对Telnet客户端发往Telnet服务器的报文进行抓包,可以发现Telnet登录的账号和密码在报文中都是明文保存的。如果客户端处于不安全的环境中,则账号和密码信息容易被非法截取。
图5-1 Telnet登录报文抓包示意图
5.2 SSH登录报文
同Telnet类似(账号名test,密码Ruijie123),使用SSH远程访问服务器时,对SSH客户端发往SSH服务器的报文进行抓包,可以发现SSH远程登录的账号和密码在报文中都是经过加密的。因此,即使客户端处于不安全的环境中,报文被截取也不会轻易导致账号和密码信息泄露。
图5-2 SSH远程登录报文抓包示意图
6 总结
在网络安全问题日益严重的今天,社会和个人都对信息安全有更高的要求。在选择远程登录协议时,也更加偏向安全性高的SSH协议。尤其在网络环境复杂,安全性得不到保障的情况下,相比明文传输的Telnet等协议,SSH协议能够带来更加安全放心的体验。
更多技术博文
-
全调度以太网(GSE),中国智算网络新标准
GSE网络作为一种全调度以太网技术,专为大规模AI训练集群设计,通过按需调度实现无损性能,提供灵活快速的部署方案,构建开放生态,显著提升智算效率和运维体验。
-
#知识百科
-
-
以太和PON,谁能更好地支撑办公室横向流量业务?
了解以太彩光与PON的区别,解析办公资源共享难题,锐捷极简以太彩光方案助您高效适配办公网,共享打印无压力!
-
#交换机
-
-
场景无线 驱动高效办公!锐捷新一代企业无线办公解决方案全新发布!
面对企业数智化转型中的无线办公网络挑战,锐捷新一代企业无线办公解决方案通过全场景AP、智能调度与云端智能运维等技术,实现网络性能、用户体验与运维效率的全面提升。
-
#无线网
-
#办公网
-
-
以太彩光和PON,运维管理谁技高一筹?
锐捷网络提供极简以太全光方案,简化配置流程,降低学习成本,让全光网络升级更平滑。
-
#交换机
-