公司主页 / 文章 / 安全 / 安全外壳 (SSH) 协议说明

安全外壳 (SSH) 协议说明

将数据安全地从一个点传输到另一个点一直是一个挑战。 除了确保信息正确传输外,我们还必须确保信息安全。 这就是 Secure Shell (SSH) 和其他通信协议发挥作用的地方。

什么是SSH?

SSH 是一种通信协议,用于控制设备如何通过网络发送数据。 它提供了确定信息数据如何打包和移动的框架和说明。 更重要的是,它允许安全地发送数据,即使在不安全的网络上也是如此。

由于其特性,SSH 适用于广泛的应用程序。 一种常见的用途是系统或服务器管理员与远程服务器进行安全通信。 例如,网站所有者可以使用 SSH 连接并将数据传输到 虚拟服务器.

塔图·伊洛宁和 Linus Torvalds的 (共 Linux Fame) 在 1 年开发了第一个 SSH (SSH-1995) 版本。虽然有些人仍在使用 SSH-1,但您今天会遇到的更常见的版本是 SSH-2。

SSH 协议如何工作?

SSH 允许与远程服务器进行安全通信
SSH 允许与远程服务器进行安全通信(来源: Hostinger)

SSH 适用于客户端-服务器模型,其中一个设备(客户端)向另一台设备(服务器)发送指令。 服务器负责响应来自授权客户端设备的指令。

它使用三个主要组件来支持这种通信; 这 传输层协议 (TLP)、用户认证协议和连接协议。 每个协议在 SSH 中都有不同的顺序用途。

SSH 使用示例

让我们使用最典型的 SSH 请求,即管理员希望与远程服务器建立 SSH 连接的请求。

管理员将键入以下命令; SSH [电子邮件保护]

此命令指示本地设备(客户端)需要 SSH 连接。 它包括三个部分。 “ssh”是命令,“username”是您希望在远程服务器上访问的帐户的身份,“host”是 IP地址 or 域名 的远程服务器。

命令发送后,将出现一个提示,要求输入密码以访问远程帐户。 如果密码正确,远程服务器已准备好接受进一步的命令。

SSH 的优点

使用 SSH 有几个关键优势。

强加密

SSH 是一种安全协议,它对客户端和服务器之间的通信进行加密,使黑客更难拦截信息。 它的 数据加密 使用 AES-256,这是目前可用的最高级别加密之一。 

受控身份验证

当您通过 SSH 连接时,双方会在允许访问系统之前验证对方的身份。 您可以配置 SSH,以便仅允许某些用户访问,或者所有用户都需要密码才能登录。

可移植性

SSH 与所有主流兼容 opera系统,包括 Windows、macOS、 Linux, 和基于 Unix 的。 主要区别在于 SSH 有时可能不是默认选项。 例如,macOS 机器必须在使用前启用该协议。

SSH 的缺点

SSH 是一个很棒的工具,但它也有一些缺点。

一些用户挑战

SSH 的默认实现需要用户学习命令行指令并建立连接。 如果没有这些技能,用户将需要第三方应用程序来使用 SSH 进行基本说明。

性能问题

与某些协议相比,例如 FTP, SSH 比较慢。 它更适合于传达命令等短时间的数据,而不是文件传输。 问题主要是由 TCP / IP协议,这会为数据通信带来更大的开销。

一些已知的漏洞

甚至 SSH-2 目前也已知有几个漏洞。 有些不是协议原生的,而是由 SSH 的不便造成的,例如管理和跟踪密钥的复杂性。

SSH 与其他通信协议相比如何?

SSH 与 Telnet

您将需要 SSH 或 远程登录 如果您需要通过 Internet 连接到远程服务器并在终端窗口中键入命令。 它们都具有相同的目的。 但是,重要的是要注意 SSH 是 Telnet 的安全版本。 后者以明文形式发送数据,也比 SSH 慢。

SSH 对比 SSL/TLS

SSH 和 SSL/TLS 是在传输过程中加密数据的两种协议。 它们都提供身份验证和完整性,但它们使用不同的方法。 SSL/TLS 支持通过证书颁发机构 (CA) 颁发的证书进行身份验证。 

SSL/TLS 比 SSH 更适合电子商务交易,因为它允许使用数字签名来验证交易。

SSH 与 VNC

SSH 和 SSH 的区别 VNC 是SSH是一个功能齐全的远程shell协议,而VNC是一个更直接的远程桌面协议(RDP)。 由于这种差异,SSH 提供了比 VNC 更多的功能。 

例如,SSH 支持多路复用,而 VNC 不支持。 多路复用意味着您可以使用一个通道一次发送多个信息流——如果在客户端和服务器之间传输大量数据,这将很有用。

总结

在当今互连的世界中,对计算机之间安全、加密通信的需求不断增加。 Secure Shell 协议及其客户端、服务器和相关工具已成为一些最广泛使用的网络安全解决方案。 

SSH 及其近亲 OpenSSH 本质上可以被认为是 Telnet 等未加密协议的安全替代品。 对于任何网络或系统管理员来说,了解其系统和网络上的 Secure Shell 环境是必不可少的知识。

作者照片

作者 Timothy Shim

继续阅读