什么是 SSH?
SSH(Secure Shell)是一种网络协议,用于在不安全的网络中提供安全的远程登录和其他安全网络服务。它通过加密通信来防止窃听、连接劫持等攻击。
什么是 OpenSSH?
OpenSSH 是 SSH 协议的一个开源实现,由 OpenBSD 项目开发和维护。它提供了完整的 SSH 协议套件,包括客户端(ssh)、服务器(sshd)、密钥生成工具(ssh-keygen)等。
主要区别
- 定义层面不同:SSH 是一个协议标准(如 RFC 4251),而 OpenSSH 是该协议的一种具体软件实现。
- 开源 vs 规范:SSH 是规范文档;OpenSSH 是基于此规范开发的免费、开源软件。
- 平台支持:OpenSSH 被广泛集成于 Linux、macOS 及现代 Windows 系统中,是事实上的标准 SSH 工具集。
- 其他实现:除了 OpenSSH,还有如 Dropbear、PuTTY(Windows 客户端)等其他 SSH 实现,但 OpenSSH 最为通用。
总结
简而言之:
SSH 是“规则”,OpenSSH 是“按规则写的程序”。
当你在终端输入 ssh user@host 时,你很可能正在使用 OpenSSH 客户端连接到一个运行 OpenSSH 服务端的远程主机。