SSH与SSL:有什么区别?
SSH和SSL都是非常高级的技术,可以帮助加密和认证在两台计算机(例如,笔记本电脑和网站服务器)之间传递的数据。基本上,它们使事情变得更加安全。但是,尽管它们在某种程度上在某种程度上是相似的,但它们有两个截然不同的目的,因此了解SSH与SSL之间的区别非常重要。通常,SSL用于加密两个位置(例如您的Web浏览器和您要访问的站点的服务器)之间传输的数据。SSL是在Web浏览器中添加“绿色挂锁”的原因,如果要安全地接受网站上的信用卡信息(或其他敏感数据),它也是使用的内容。另一方面,SSH用于远程登录到另一台计算机(例如Web服务器)并创建安全连接以发出命令(通过SSH隧道)。例如,如果要连接到站点的服务器以使用WP-CLI执行命令,则将使用SSH。
在本文中,我们将向您介绍SSH和SSL以及它们的用途。然后,我们将更深入地探讨SSH与SSL之间的某些高级和特定技术差异。
什么是SSH?
SSH代表 安全外壳。SSH提供了一种安全的方法来远程登录另一台计算机并发出命令,例如您网站的服务器。
使用SSH隧道,您将能够在客户端(例如您的计算机)和服务器(例如您的网站的服务器)之间创建加密连接。
要创建此安全的SSH隧道,您需要使用用户名/密码或一组加密的公用/专用密钥进行身份验证。
通过身份验证后,就可以安全地访问信息(例如,站点的文件和数据库),并通过命令行向远程服务器发出命令。
您使用SSH做什么?
也许更好的问题是“您不能将SSH用于什么?”。通过SSH连接到服务器后,就可以完全控制。您可以执行所需的任何命令,只要您了解命令行即可。
例如,如果您使用的是WordPress,则 在连接SSH后,可以 使用WP-CLI与WordPress站点和插件进行交互。您可以创建内容,应用更新,管理分类法等等。
除了使用SSH可以通过命令行管理服务器之外,SSH还支持另一个重要工具– SFTP,它是SSH文件传输协议(也通常称为安全文件传输协议)的缩写。SFTP使您可以通过安全的SSH隧道连接到服务器,然后像往常一样使用FTP管理文件。
基本上,一旦您使用SSH连接到服务器,便拥有了极大的灵活性,因为您能够根据需要执行自己的命令,而SSL并非如此。
什么是SSL?
SSL代表 安全套接字层。尽管大多数人仍在使用SSL,但从技术上讲,SSL是更现代的传输层安全性(TLS)协议的旧版本。但是,出于所有实际目的,您可以 将SSL和TLS视为同一东西 ,我们将其简称为SSL。
SSL是主要用于通过加密和身份验证来保护两方之间的数据传输的协议。最常见的是,这种传输是在某人的Web浏览器和他们正在访问的网站的服务器之间进行的。
有几个主要好处:
- 加密 – SSL在传输过程中会对数据进行加密,这意味着恶意行为者无法截获该信息。
- 身份验证 – SSL还可以帮助验证正在向正确服务器发送和接收的数据,这是防止中间人攻击的另一种方式。
- 数据完整性 –最后,SSL还可以确保数据在传输过程中不会丢失或更改,从而确保数据完整性。
SSL通过使用证书来工作,这就是为什么您会看到诸如“ SSL证书”之类的短语的原因。
但是,尽管SSL确实有助于认证服务器,但它不需要客户端(例如网站访问者)进行任何认证。这与SSH不同,SSH确实需要来自客户端的身份验证。
SSL证书是每个网站的必备工具,但是如果您未正确设置SSL证书,则可能会发生SSL连接错误。
您将SSL用作什么?
大多数人都知道SSL,因为在网站上安装SSL证书可以 启用HTTPS 并在访问者的浏览器中获得最重要的绿色挂锁。
安装SSL证书并启用HTTPS后,在您的网站和访问者的浏览器之间传递的数据将是安全的。
如果您拥有任何类型的网站(例如电子商务),则绝对需要安装SSL证书,这样您才能获得上述好处,并与访问者和Google等搜索引擎建立信任。
您还可以使用SSL通过FTP安全地传输文件。这称为FTPS或SSL上的文件传输协议。这与SFTP不同,尽管它也具有使FTP更安全的目的。
SSH与SSL:高级差异
至此,您知道SSH与SSL之间有很多相似之处:
- 两者都可以帮助您创建安全的连接。
- 两者都对在两个设备之间传递的数据进行加密。
SSH与SSL之间的主要区别在于SSH用于创建到另一台计算机的安全隧道,您可以从该计算机发出命令,传输数据等。
另一方面,SSL用于在两方之间安全地传输数据–不允许您像使用SSH一样发出命令。
例如,假设您正在使用笔记本电脑。这是您何时会遇到每种协议的示例:
- SSH –如果您想安全地连接到网站的服务器并使用WP-CLI来管理WordPress网站,则可以使用SSH。
- SSL –如果您想与网站上的前端表单进行交互以提交数据,则当服务器在Web浏览器和服务器的数据库之间移动时,服务器将使用SSL对表单数据进行加密。
只要您安装了SSL证书并启用了HTTPS,访问您网站的每个人都将使用SSL与您网站的服务器进行交互-他们无需进行身份验证即可访问您的网站。
但是,与SSH交互的唯一人是您或其他应该直接访问您的服务器并可以使用用户名/密码或加密密钥进行身份验证的技术用户。
SSH与SSL的更多技术差异
当然,SSH与SSL之间存在许多技术差异。如果您是临时用户,那么这些对您可能没有多大意义,但对于有技术意识的人来说,这些知识很重要:
SSH协议 | SSL协议 |
用于安全和远程连接到另一台计算机以发出命令。 | 用于在两方之间安全地传输数据-通常是您的网站的访问者和您的网站的服务器。 |
基于网络隧道。 | 基于数字证书(即SSL证书) |
在端口22上运行 | 在端口443上运行 |
要求客户端使用用户名/密码或加密密钥进行身份验证 | 仅要求在服务器端进行身份验证(不需要客户端进行身份验证) |
是加密网络协议 | 是安全协议 |
总结
回顾一下,SSH和SSL乍一看似乎很相似,因为它们都可以帮助您创建安全的连接。但是,它们有两个截然不同的目的。
SSL主要用于加密在网站访问者和服务器之间移动的数据。例如,如果访客输入他们的信用卡或以登录形式输入其密码,则SSL会加密该数据并保护其免受中间攻击。
另一方面,SSH用于安全登录到远程计算机,以便您可以发出命令,操作该计算机上的文件等。如果要使用WP-CLI,则需要SSH,并通过来管理站点的文件SFTP,远程访问数据库等等。
能够使用SSH连接到服务器的唯一人员是能够使用用户名/密码或SSH密钥进行身份验证的人员。