您是否曾想过计算机如何通过互联网安全地相互通信?如果是这样,那您就应该感谢安全套接字外壳 (SSH)。这是一种网络协议,可让您在计算机和服务器之间安全地传输数据。
SSH 的历史可以追溯到 1995 年,但自诞生以来经历了多次演变,但它仍然是 IT 最重要的方面之一。如今,大多数设备都使用 SSH-2 或 OpenSSH(Windows 10),Web 开发人员需要了解这一点。
本文将讨论什么是 SSH 以及它在网页设计中的重要性。
什么是 SSH?
SSH 的含义非常复杂,事实上,大多数人都无法理解。好消息是,你不需要完全理解它,你只需要知道基础知识,除非你是 IT 专业人士。
根据定义,SSH 是一种网络协议,它允许用户通过提供 SSH 密钥作为凭证来远程访问计算机或其他设备。在大多数情况下,SSH 仅适用于高度敏感的数据和需要加密的设备。
SSH 最常见的用途包括:
远程访问设备执行维护或提供支持
文件从一台设备传输到另一台设备
远程执行命令
更新办公室中的设备
由于 SSH 提供众多安全优势(稍后会详细介绍),它已成为远程访问的标准。让我们讨论一下它的工作原理。
它是如何工作的?
在更先进的网络上,这可能会变得相当复杂,所以我们保持简单。
假设您想将文件从计算机传输到服务器进行存储。这是很标准的事情。如果您不使用 SSH,那么在数据传输过程中,任何知道在哪里查看文件的人都可以读取该文件。
你可以想象,这对于敏感数据来说是一个问题。
SSH 的作用就在于此。要访问这些数据,您需要 SSH 密钥才能读取它,只有用户和服务器知道。因此,如果有人在文件传输过程中尝试读取它,由于文件已加密,他们将无法读取。
再次强调,SSH 通常用于更敏感的数据,因此在使用远程访问时您很可能从未使用过 SSH 密钥。
SSH 协议的三层
如果我们进一步深入研究并检查该协议的相互作用,您会发现它有三个不同的部分。这些部分称为层,包括:
传输层
用户认证层
连接层
我将以最简单的形式介绍每一层的作用。
传输层
顾名思义,该层控制设备之间的密钥交换。它还处理交互期间这些设备之间发生的加密和压缩。该层仅传输纯文本。
用户认证层
这一层是协议的核心,因为它控制整个过程的身份验证。主要使用四种身份验证方法。这些包括:
密码:密码是大多数人熟悉的方法。用户输入密码,如果密码正确,他们就可以访问。虽然这种方法对用户来说简单易用,但还有更安全的选择。
公钥/私钥:从表面上看,它们类似于密码,但由组织的 IT 团队严格管理。公钥是成对创建的,另一个称为私钥。公 2024 年如何通过按需印刷赚钱 钥与需要它的人共享,而私钥只有少数人知道。
键盘交互:用最简单的术语来说,这可以与 2FA 进行比较,服务器会提出一个问题,如果答案正确,它将提供用户可以用于访问连接的一次性密码。
GSSAPI: GSAAPI,即通用安全服务应用程序编程接口,是一种可以用来访问 Microsoft Windows 使用的 Kerberos 安全系统的通用接口。
身份验证层是用户交互并输入密码等的地方。
连接层
最后,这一层主要通过通道将您的设备连接在一起。一个连接可以有多个通信通道,而且这些通道不是单向的。它们可以同时来回发送数据。
它还控制一些其他小事,比如连接(终端)窗口的外观。
SSH 加密的不同类型
SSH 是加密的,但有多种方法可以实现这一点。每种方法都有自己的优点和缺点,这就是为什么在不同情况下使用不同的方法。让我们来看看三种最常见的加密方法。
对称加密
简单来说,对称加密就是只有一个加密密钥,可以用来加密和解密。换句话说,任何拥有密钥的人都可以加密或解密使用此方法的任何数据。
此方法可用于加密整个过程,而不仅 B2B 电子邮件线索 仅是数据。密钥是通过称为密钥交换算法的过程生成的,这个过程相当复杂。本质上,双方提供一些信息,然后生成密钥。
总体而言,这种加密方式非常流行,可以加密从数据到输入的密码的所有内容。
非对称加密
如果您还记得用户身份验证层,我提到过私钥和公钥。如果您要使用该身份验证方法,您还将使用非对称加密,因为它需要这两个密钥。
最简单的形式是,非对称加密发生在对称加密中(因为它加密所有内容),并且两个设备使用公钥作为对称加密的秘密。
这只是一种可能性,因为有多种方法可以使用这种加密。
它具有广泛的用途并且总是与对称加密一起使用。
哈希
哈希算法与后两种加密方法不同。在这种方法中,哈希算法用于创建唯一的哈希字符串。然后,机器将发送该哈希字符串以及打开它所需的哈希值。
接收数据的机器知道算法,可以应用该值来打开数据。如果值不匹配,则数据已损坏,无法读取。最终,它可以保护所有类型的数据,但有一个缺点。
这是非常难以实现的。然而,这种标准加密却更为常见。
那么这对网页设计有何影响?
我们已经讨论了很多有关 SSH 是什么,但还没有真正将它与网页设计联系起来,不是吗?
显然,SSH 不会影响实际创建网站或为其设计内容。不,相反,这更像是许多初学者忽略的后端事情。运营网站的主要组成部分之一是购买网络托管服务。
您实际上是在租用一台服务器来托管您的网站。当有人访问您的网站时,他们实际上是在连接到该服务器。现在,根据您购买的计划,您可能会与其他人共享该服务器,或者拥有一台专用服务器。
在共享环境中,您无法设置 SSH,因为您的访问权限通常受到网络托管公司的限制。但是,如果您租用一台完整的服务器,则该限制就消失了,您可以设置 SSH。这让您可以更好地控制网络服务器。
请记住,您可以使用 SSH 在代码级别发出和执行命令。对于有才华的 Web 开发人员来说,这是一个无价的工具。
尽管如此,对于简单的网站来说,设置这个可能有点过头了。这实际上取决于具体情况以及您想要实现的目标。
常问问题
谁应该使用 SSH?
需要在设备之间传输敏感数据的组织可能希望投资 SSH,但这确实需要 IT 团队。
因此,小型网站或企业可能不需要采用这种技术,至少在早期不需要。但是,如果他们从事咨询等特定行业,您可能被迫设置它以确保客户之间的机密性。
所有远程访问都受 SSH 保护吗?
不。
家庭网络上的大多数远程访问不使用 SSH 协议。相反,您很容易受到任何知道如何窃取数据的人的攻击。
尽管如此,您的本地网络被入侵的几率极低。风险在于当您从公共场所远程访问设备时。
一个很好的例子就是去图书馆并访问家里的桌面。如果网络不安全,并且设备上有敏感数据,则应避免远程访问。
这是否意味着 Steam 或 PlayStation 的远程游戏服务不安全?
最大的误解之一是,当你在流式传输游戏时,它与远程访问设备相同。
它不是。
无论是 Steam 还是 Playstation,您都是在另一台设备上传输设备的输出。您并没有传输数据。
因此,使用远程游戏进行游戏是完全安全的。话虽如此,请务必启用 2FA 以增加安全性。
SSH 有什么缺点吗?
绝对地。
正如我所提到的,存在多种身份验证和加密方法,它们之所以存在是因为 SSH 并非坚不可摧。如果只有一种方法可以做到,黑客早就想出办法侵入任何公司的服务器了。
SSH 隧道就是一个例子,即某人可以使用端口转发从工作地点访问其计算机的过程。最常见的是,IT 成员这样做,但他们不应该这样做,因为这会在网络中留下后门。
特别是因为任何人都可以使用端口转发。
SSH 密钥生成器安全吗?
绝对地!
它们只是生成您可以使用的随机密钥序列。请记住,您应该定期更新密钥。这可确保只有需要密钥的人才能访问最新版本的密钥。
再说一遍,这都是 IT 团队的工作。
互联网不是一个安全的地方
众所周知,互联网并不安全,因此每个网站都需要使用安全插件并设置防火墙来确保安全。即使只是浏览网页也不安全。
大多数设备运行反恶意软件和病毒保护是有充分理由的。
SSH 旨在帮助组织防止敏感信息落入坏人之手,它在这方面做得非常出色。然而,这是一个相当复杂的过程,通常由经验丰富的 IT 团队来处理。
随着黑客变得越来越有天赋和资源丰富,SSH 的价值只会越来越大。