SSH
SSH 是什么?
SSHRFC 4251 定义、运行在 22 端口的加密网络协议,在不可信网络上提供经过身份验证、加密且完整性保护的远程登录、命令执行与隧道。
Secure Shell 在 RFC 4251-4254 中规定,以 TCP 22 端口取代了 telnet 和 rlogin。它将主机身份验证、用户身份验证与加密通道结合,使用 Diffie-Hellman 或 ECDH 完成密钥交换以推导会话密钥,然后通过认证对称加密算法(通常为 AES-GCM 或 ChaCha20-Poly1305)进行通信。用户身份验证可基于口令、公钥、主机或证书,自动化场景优先使用密钥认证。SSH 还支持 TCP 端口转发、SOCKS 代理、X11 转发,并作为 SFTP 与 scp 的底层载体。加固重点包括禁用口令、限制算法、轮换主机密钥、使用堡垒机以及监控 authorized_keys。
● 示例
- 01
工程师执行 ssh -i id_ed25519 user@bastion 登录内部跳板机。
- 02
CI/CD 流水线通过 ssh git@github.com 使用部署密钥推送变更。
● 常见问题
SSH 是什么?
RFC 4251 定义、运行在 22 端口的加密网络协议,在不可信网络上提供经过身份验证、加密且完整性保护的远程登录、命令执行与隧道。 它属于网络安全的 网络安全 分类。
SSH 是什么意思?
RFC 4251 定义、运行在 22 端口的加密网络协议,在不可信网络上提供经过身份验证、加密且完整性保护的远程登录、命令执行与隧道。
SSH 是如何工作的?
Secure Shell 在 RFC 4251-4254 中规定,以 TCP 22 端口取代了 telnet 和 rlogin。它将主机身份验证、用户身份验证与加密通道结合,使用 Diffie-Hellman 或 ECDH 完成密钥交换以推导会话密钥,然后通过认证对称加密算法(通常为 AES-GCM 或 ChaCha20-Poly1305)进行通信。用户身份验证可基于口令、公钥、主机或证书,自动化场景优先使用密钥认证。SSH 还支持 TCP 端口转发、SOCKS 代理、X11 转发,并作为 SFTP 与 scp 的底层载体。加固重点包括禁用口令、限制算法、轮换主机密钥、使用堡垒机以及监控 authorized_keys。
如何防御 SSH?
针对 SSH 的防御通常结合技术控制与运营实践,详见上方完整定义。
SSH 还有哪些其他名称?
常见的别称包括: 安全外壳协议。
● 相关术语
- network-security№ 1022
SFTP
运行在 SSH 会话内部、通常通过 TCP 22 端口提供经过身份验证和加密的文件与目录操作的安全文件传输子系统。
- network-security№ 1134
TCP
面向连接的传输层协议(RFC 9293),在 IP 之上为两个端点提供有序、可靠且带拥塞控制的字节流传输。
- cryptography№ 067
非对称加密
使用数学上相关的密钥对——公钥加密、私钥解密——的密码方案,无需事先共享秘密即可实现安全通信。
- identity-access№ 076
身份认证
在授予访问权限前,验证某个实体(用户、设备或服务)确实是其所声称身份的过程。
- network-security№ 437
FTP
RFC 959 定义的早期文件传输协议,使用 TCP 21 端口进行控制、20 端口传输数据,凭据与文件均以明文传输,因安全原因已基本被废弃。
- network-security№ 1160
TLS 握手
Transport Layer Security 协议建立连接时的初始交换,用于验证服务器(可选地验证客户端)并派生用于加密会话后续数据的对称密钥。
● 参见
- № 1088SSH 代理转发
- № 1089SSH 密钥类型
- № 594known_hosts 文件