SSH(Secure SHell protocol)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议。SSH协议使用的是TCP 22号端口,telnet 使用的是TCP的23号端口,SSH协议是C/S架构,分为服务器端与客户端²。
OpenSSH是对SSH协议的实现。OpenSSH包括sshd主程序与ssh客户端。OpenSSH依赖于OpenSSL,没有OpenSSL的话OpenSSH就编译不过去,也运行不了。
OpenSSL是对SSL协议的实现,提供开发库和命令行程序。HTTPS可以使用TLS或者SSL协议,而OpenSSL是TLS、SSL协议的开源实现。
总的来说,SSH是一种协议,OpenSSH是对SSH协议的一个开源实现,而OpenSSL是对SSL协议的一个开源实现,OpenSSH依赖于OpenSSL。
OpenSSL和OpenSSH都是开源的安全通信库,但它们的主要区别在于它们的用途和功能。
OpenSSL是一个强大的安全套接字层密码库,围绕使用SSL和TLS协议的安全网络应用程序提供了丰富的应用程序编程接口(API)。它是许多服务器应用程序(如Web服务器和邮件服务器)中使用的主要SSL库,用于在Internet上提供安全的、加密的通信。
OpenSSH,另一方面,是一种为远程登录提供加密通信的工具集,实现了SSH协议。OpenSSH包括许多客户端和服务器工具,如ssh
(一个安全的替代telnet
的远程登录工具)和sshd
(SSH服务器守护进程)。OpenSSH的目标是在不安全的网络环境中提供安全的通信。
总的来说,OpenSSL和OpenSSH都提供了安全通信的工具,但OpenSSL更侧重于为应用程序提供安全通信的库,而OpenSSH则提供了一组用于安全远程登录和其他安全网络服务的工具。