【嵌入式学习3】信息安全 - SSH协议
目录
1、对称加密技术
2、非对称加密技术
①加密模型:
②认证模型:代表算法RSA
③数字签名:
3、SSH协议
SSH协议层次:由三个层次组成
SSH加密机制
SSH工作原理
SSH协议应用场景
本地端口转发:
远程端口转发:
SSH协议特点
Ubantu中SSH安装
通过哪些软件连接到搭载ssh的云端/计算机中
1、对称加密技术
适用于大量明文加密,易推导,加密解密使用相同密钥。代表算法AES(基于排列和置换算法)。
2、非对称加密技术
①加密模型:
加密密钥公开(任何人使用),解密密钥私密:确认接收者身份
A明文 → A加密(B公钥) → B解密(B私钥)→ B明文
②认证模型:代表算法RSA
加密密钥私密,解密密钥公开:确认发送者身份
A明文 → A加密(A私钥) → B解密(A公钥)→ B明文
③数字签名:
A信息 → 信息摘要Z(使用Hash函数生成)→ 加密信息摘要E(A私钥)→(将信息M,加密信息摘要E一同发送给B)→ (B:接收信息M后使用与A相同的Hash函数生成)信息摘要N → (使用A公钥解密信息摘要E)解密后记作信息摘要K → 对比信息摘要K和信息摘要N是否一致(验证发送者身份)
3、SSH协议
一种网络协议,用于加密方式远程登录和管理服务器。它是在应用层和传输层之间运行的安全协议,用于提供安全的远程登录、文件传输等功能。
SSH协议层次:由三个层次组成
- 传输层协议:提供服务器和客户端之间加密通信
- 用户认证协议:用于验证用户身份,支持多种认证方式:密码认证、公钥认证等
- 连接协议:用于已经建立的加密通信通道上创建多个逻辑通道实现多种服务。
SSH加密机制
- 密钥交换与会话密钥生成:客户端和服务器通过密钥交换算法,协商出一个共享的会话密钥。
- 对称加密通信:会话密钥生成后,客户端和服务器所有通信内容都通过对称加密算法进行加密。
- 数字签名验证身份:服务器用自己的私钥对某些数据进行签名,客户端使用服务器的公钥验证签名,确认服务器身份。同样,客户端也可以使用自己的私钥对数据进行签名,服务器验证客户端的签名。确保了通信双方的身份真实可靠,防止中间人攻击。
SSH工作原理
- 客户端通过SSH连接到服务器,发起一个连接请求到服务器的22端口。服务器收到请求后发送自己的公钥给客户端。
- 客户端收到服务器公钥后,生成会话密钥并使用服务器公钥对会话密钥进行加密,发送给服务器。服务器收到加密的会话密钥后,用自己的私钥解密得到会话密钥。
- 客户端和服务器使用该会话密钥来加密后续通信内容。同时,客户端根据配置认证方式(密码认证/公钥认证)向服务器发送认证信息,通过后客户端可以成功登录服务器开始执行远程命令、文件传输操作。
SSH协议应用场景
- 远程登录:系统管理员可以通过SSH协议从本地计算机远程登录到服务器上,进行服务器的维护和管理操作
- 文件传输:SSH协议支持安全的文件传输。SFTP(SSH File Transfer Protocol)和SCP(Secure Copy Protocol)两种文件传输方式。用户可以通过SFTP客户端软件(如FileZilla)在客户端和服务器之间传输文件,文件在传输过程中是加密的,防止数据泄露。SCP则是用于在服务器之间或客户端与服务器之间复制文件的命令行工具,它也利用SSH协议进行加密传输。
- 端口转发:本地端口转发和远程端口转发。
本地端口转发:
本地端口转发是指将本地计算机的某个端口转发到远程服务器的某个端口。例如,如果本地计算机不能直接访问某个外部网络服务(如一个被防火墙限制的数据库服务),但可以通过SSH连接到一个可以访问该服务的服务器,就可以通过SSH的本地端口转发功能,将本地计算机的某个端口(如本地的3306端口)转发到远程服务器的数据库服务端口(如远程服务器的3306端口),从而间接访问数据库服务。
远程端口转发:
远程端口转发则是将远程服务器的某个端口转发到本地计算机的某个端口。这在一些需要从外部网络访问本地网络资源的场景下很有用,比如从公司外部访问公司内部网络中的开发服务器。
SSH协议特点
- 安全性高:加密技术保护通信内容
- 兼容性好:广泛应用于各种操作系统
- 功能丰富:除了远程登陆和文件传输功能外,还支持端口转发
Ubantu中SSH安装
- 安装ssh:sudo apt-get install ssh
- 启动协议:sudo /etc/init.d/ssh start
- 重启协议:sudo /etc/init.d/ssh restart
通过哪些软件连接到搭载ssh的云端/计算机中
- putty
- Xshell
- MobaXterm