什么是 SSH,它代表什么?

Secure Shell (SSH) 是一种加密网络协议,可在不安全的网络上实现安全通信。 该协议旨在取代旧的不安全协议,提高所有操作系统的安全性和隐私性。

那么,什么是 SSH?

什么是 SSH?

SSH 代表 Secure Shell,也称为 Secure Socket Shell。

SSH 是一种安全的网络通信协议。 该协议主要由网络管理员用于安全地连接到远程设备,但 SSH 具有一整套通用功能。

在 SSH 开发之前,用户和管理员使用不安全的网络协议(例如 Telnet)与远程设备进行通信。 这些现已过时的协议以明文形式发送密码和登录信息等关键信息,使其成为攻击者的轻松目标。

SSH 通常通过端口 22 进行通信。

SSH1 与 SSH2:有什么区别?

SSH 有“两个”版本。 我们说“两个”是因为在这两个版本之间,有许多从 SSH1 到 SSH2 的实现和更新。

如您所料,SSH2 是更安全的协议。 它对攻击者和窃听者提供了更好的保护,支持更强大的加密算法,并对原始 SSH 协议进行了大量改进。

什么是 OpenSSH?

OpenSSH 是广泛使用的 SSH 开源实现。 SSH 最初的免费版本是由 Tatu Ylönen 开发的。 Ylönen 工作的后期版本是专有的,这意味着它们需要花钱才能获得许可和使用,而且你不能对协议进行未经授权的更改。

因此,一个开发团队将 SSH 的原始免费版本分叉,并将其命名为 OpenSSH,现在它是作为 OpenBSD(一种开源操作系统)的一部分开发的。 所有主要操作系统,例如 Windows、macOS 和众多 Linux 发行版,都支持 OpenSSH。

SSH 是如何工作的?

要了解 SSH 的工作原理,您需要了解两件事。

首先,什么是壳? 其次,公钥密码学是如何工作的? 在考虑 SSH 连接的细节之前,让我们先弄清楚 shell 到底是什么。

什么是壳?

Shell 是一种软件,可让您与托管它的操作系统进行通信。 通常,您使用命令与 shell 交互,尽管图形用户界面 (GUI) 确实存在。

要知道的一件重要事情是,您不必坐在计算机前就可以使用 shell。 你可以使用——你猜对了——SSH,通过网络连接远程操作 shell。

什么是公钥加密?

在现代计算中,有两种主要的加密类型:

  • 对称算法: 加密和解密使用相同的密钥。 双方必须在开始通信之前就算法密钥达成一致。
  • 非对称算法: 使用两个不同的密钥:公钥和私钥。 这可以在通信时实现安全加密,而无需事先建立相互算法。

SSH 是一种公钥加密,使用上述两种加密类型来创建安全连接。

SSH 使用上述两种加密类型在客户端-服务器模型中创建安全连接。 当客户端尝试创建与服务器的连接时,每一方都会传达他们的加密协议。

在确定匹配的加密协议后,客户端和服务器使用 Diffie-Hellman 密钥交换算法来获得一个共享的加密密钥,作为对称算法的一部分。 此加密密钥在整个连接过程中始终保密,用于加密双方之间的所有通信。

那么,非对称加密的特点在哪里?

在公钥密码学中,您有两个密钥: 公钥 和一个 私钥. 您可以将公钥发送给其他人,而所有者只知道私钥。 它们一起形成一对。

在进行对称密钥交换和建立安全通信通道之前,SSH 使用非对称加密来创建临时密钥对。 客户端和服务器交换公钥,在对称密钥创建过程开始之前相互验证。

SSH 使用什么加密算法?

由于 SSH 使用对称加密来保护您的连接,您可以将 SSH 配置为使用广泛的对称加密算法,包括 AES、Blowfish、Twofish、Salsa20/ChaCha20、3DES、IDEA 等。

相关:常见的加密类型以及为什么你不应该自己做

SSH 是否与 SSL/TLS 相同?

虽然 SSH 和 SSL/TLS 都为以前不安全的网络协议提供了安全性,但 SSH 和 SSL/TLS 并不相同。

安全套接层 (SSL) 及其后续传输层安全 (TLS) 提供加密的通信隧道。 您每天在发送电子邮件或浏览网页时都会使用 TLS。 SSL 和 TLS 是应用层协议。 在互联网通信网络中,应用层对最终用户服务的通信进行标准化。

虽然 SSL/TLS 和 SSH 都提供加密,但网络协议本身是为不同的事物而设计的。 SSL/TLS 旨在保护您的数据连接,而 SSH 旨在允许安全的远程访问和命令执行。

但是,您可以使用 SSH 与 SSL 结合使用 SSH 文件传输协议 (SFTP) 或安全复制协议 (SCP) 来传输文件。 顺便说一句,使用 SCP 只是将数据从 PC 复制到 Raspberry Pi 的一种方式。

SSH 和 VPN 一样吗?

与上述问题一样,虚拟专用网 (VPN) 也为您的通信提供了加密隧道。 但是,如果 SSH 在客户端-服务器配置中提供到特定计算机的安全连接,VPN 则在您的计算机和 VPN 服务器之间提供安全连接。

您没有在 VPN 服务器上执行远程命令。 相反,当您打开 VPN 时,进出您的计算机的数据传输会通过加密隧道传输到 VPN 服务器,然后再“重新加入”更广泛的互联网。

因此,SSH 支持与单台计算机的安全连接以执行远程命令,而 VPN 支持您的计算机和 VPN 服务器之间的加密隧道。

此过程可能会掩盖您计算机的位置,并在使用 Internet 连接时提供一些额外的安全性。 想知道更多? 这是VPN如何保护您的隐私。

SSH 在哪些平台上可用?

只要您选择的操作系统具有 SSH 客户端或集成的 SSH 功能,您就可以使用安全网络协议。

为了 example,您可以按照我们的 Linux 上 SSH 初学者指南,或查看在 Windows 10 中使用 SSH 有多么容易。

SSH 将继续存在

安全外壳不会去任何地方。 SSH 提供了一种安全且易于使用的网络协议,任何用户都可以免费使用。 它适用于每个平台,并且在全球范围内都可以找到。 现在您已经阅读了这个简短的 SSH 指南,您可以更好地为将来使用它做好准备。