试图了解SSH与SSL之间的区别?
在非常高的层次上,SSH和SSL都是帮助加密和验证在两台计算机(例如您的笔记本电脑和您网站的服务器)之间传递的数据的技术。基本上,它们使事情变得更加安全。
然而,虽然它们在某些方面在高层次上是相似的,但它们服务于两个截然不同的目的,因此了解SSH与SSL之间的区别很重要。
通常,SSL用于加密两个位置之间传输的数据,例如您的Web浏览器和您正在访问的站点的服务器。SSL是在Web浏览器中添加“绿色挂锁”的东西,如果您想在您的网站上安全地接受信用卡信息(或其他敏感数据),它也是您使用的东西。
另一方面,SSH用于远程登录到另一台计算机(例如Web服务器)并创建安全连接以发出命令(通过SSH隧道)。例如,如果您想连接到站点的服务器以使用WP-CLI执行命令,您将使用SSH。大部分服务器,当您想通过SFTP访问连接到您的服务器时,您还将使用SSH 。
在本文中,我们将向您介绍SSH和SSL以及它们的用途。然后,我们将更深入地探讨SSH与SSL之间的一些高级和特定技术差异。
- 什么是SSH?
- 什么是SSL?
- SSH与SSL之间的异同
- SSH与SSL的技术差异
什么是SSH?
SSH代表安全外壳。SSH提供了一种安全的方式来远程登录到另一台计算机并发出命令,例如您网站的服务器。
使用SSH隧道,您将能够在客户端(例如您的计算机)和服务器(例如您网站的服务器)之间创建加密连接。
要创建此安全SSH隧道,您需要使用用户名/密码或一组加密公钥/私钥进行身份验证。
一旦您通过身份验证,您将能够安全地访问信息(例如您站点的文件和数据库)并通过命令行向远程服务器发出命令。
你用SSH做什么?
也许更好的问题是“您不能使用SSH做什么?”。一旦您通过SSH连接到您的服务器,您就拥有完全的控制权。只要您了解命令行,就可以执行您想要的任何命令。
例如,如果您使用的是WordPress,则在连接SSH后,您可以使用WP-CLI与您的WordPress站点和插件进行交互。您可以创建内容、应用更新、管理分类等等。
除了使用SSH能够通过命令行管理您的服务器之外,SSH还支持另一个重要工具 – SFTP,SSH文件传输协议(也通常称为安全文件传输协议)的缩写。SFTP允许您通过安全的SSH隧道连接到您的服务器,然后像往常一样使用FTP管理文件。
因为SFTP比常规未加密的FTP访问安全得多,建议使用SFTP代替FTP访问服务器。
或者,您也可以使用SS 直接访问您站点的数据库 。
基本上,一旦您使用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,因为在网站上安装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 – 如果您想与网站上的前端表单交互以提交数据,您的服务器将使用SSL来加密表单数据,因为它在您的Web浏览器和您的服务器数据库之间传输。
只要您安装了SSL证书并启用了HTTPS,访问您网站的每个人都将使用SSL与您网站的服务器进行交互——他们无需进行身份验证即可访问您的网站。
但是,唯一与SSH交互的人将是您或其他应该可以直接访问您的服务器并且可以使用用户名/密码或加密密钥进行身份验证的技术用户。
SSH与SSL的技术差异
SSH与SSL之间当然存在很多技术差异。如果你是一个普通用户,这些对你来说可能没什么意义,但这些对于有技术头脑的人来说很重要:
SSH | SSL |
用于安全地远程连接到另一台机器以发出命令。 | 用于在两方之间安全传输数据 – 通常是您网站的访问者和您网站的服务器。 |
基于网络隧道。 | 基于数字证书(即SSL证书) |
在端口22上运行 | 在端口443上运行 |
要求客户端使用用户名/密码或加密密钥进行身份验证 | 只需要服务器端认证(客户端不需要认证) |
是加密网络协议 | 是安全协议 |
小结
回顾一下,SSH和SSL乍一看很相似,因为它们都可以帮助您创建安全连接。然而,它们有两个截然不同的目的。
SSL主要用于加密在您网站的访问者和您的服务器之间移动的数据。例如,如果访问者输入他们的信用卡或在登录表单中输入他们的密码,SSL将加密该数据并保护它免受中间人攻击。
另一方面,SSH用于安全地登录到远程机器,以便您可以发出命令、操作该机器上的文件等。如果您想使用WP-CLI,则需要SSH,通过SFTP、远程访问您的数据库等。
唯一可以使用SSH连接到您的服务器的人是能够使用用户名/密码或 SSH 密钥进行身份验证的人。