SSH对Web设计的意义
SSH 可以追溯到 1995 年,SSH既指加密网络协议,也指实现该协议的实用程序套件。SSH使用客户端-服务器模型,将SecureShell客户端应用程序(显示会话的终点)与SSH服务器(会话运行的终点)连接起来。SSH实现通常包括对用于终端仿真或文件传输的应用程序协议的支持。
SSH还可用于为其他应用程序协议创建安全隧道,例如,远程安全地运行X Window System图形会话。默认情况下,SSH服务器侦听标准传输控制协议(TCP)端口22。本文晓得博客为你介绍什么是SSH。
什么是SSH
什么是SSH?SSH也称为Secure Shell或Secure Socket Shell,是一种网络协议,它为用户(尤其是系统管理员)提供了一种通过不安全网络访问计算机的安全方式。SSH也指实现SSH协议的实用程序套件。SecureShell提供强密码验证和公钥验证,以及通过开放网络(例如Internet)连接的两台计算机之间的加密数据通信。
SSH 的含义非常复杂,事实上,大多数人都无法理解它。 好消息是你不需要完全理解它,你只需要知道基础知识,除非你是 IT 专业的。
SSH 最常见的用途包括:
- 远程访问设备进行维护或提供支持
- 文件从一台设备传输到另一台设备
- 远程执行命令
- 更新办公室中的设备
推荐:什么是Interaction to Next Paint(INP)
SSH是如何工作的?
假设您要将文件从计算机传输到服务器进行存储, 如果您不使用 SSH,那么任何知道在数据传输过程中查找位置的人都可以读取该文件。
可以想象,敏感数据是有问题的。这就是 SSH 的用武之地。要访问这些数据,您需要 SSH 密钥来读取它,只有用户和服务器知道。 因此,如果有人在传输文件时尝试读取文件,由于其加密,他们将无法读取。同样,SSH 通常保留用于更敏感的数据,因此很有可能您在使用远程访问时从未使用过 SSH 密钥。
SSH 最基本的用途是连接到远程主机进行终端会话。此命令将使客户端尝试使用用户 ID UserName连接到名为server.example.com的服务器,该命令的形式如下:
ssh UserName@SSHserver.example.com
如果这是第一次在本地主机和服务器之间协商连接,将提示用户使用远程主机的公钥指纹并提示连接,尽管之前没有连接:
The authenticity of host 'sample.ssh.com' cannot be established.
DSA key fingerprint is 01:23:45:67:89:ab:cd:ef:ff:fe:dc:ba:98:76:54:32:10.
Are you sure you want to continue connecting (yes/no)?
推荐:使用WAMP在Windows本地安装WordPress网站
SSH 协议的三层结构
如果我们进一步挖掘并检查该协议的互通性,您会发现存在三个不同的部分。 这些被称为层,包括:
- 传输层
- 用户认证层
- 连接层
传输层
这一层控制设备之间的密钥交换。 它还处理在交互期间这些设备之间发生的加密和压缩。 在该层内仅传输纯文本。
用户认证层
这一层是协议真正的核心,在整个过程中控制身份验证。 使用了四种主要的身份验证方法。 这些包括:
- 密码: 密码是最熟悉的方法。 用户输入密码,如果密码正确,他们将获得访问权限。 虽然它对用户来说简单易行,但存在更安全的选项。
- 公钥/私钥: 从表面上看,这些类似于密码,但由组织的 IT 团队严格管理。 公钥是成对创建的,另一个被称为私钥。 公钥共享给任何需要它的人,而私钥只有少数人知道。
- 键盘交互: 用最简单的术语来说,这可以与服务器提出问题的 2FA 进行比较,如果答案正确,它将提供用户可用于访问连接的一次性密码。
- GSSAPI: GSAAPI 或通用安全服务应用程序编程接口,是一种通用接口,可用于访问 Microsoft Windows 使用的 Kerberos 安全系统。
连接层
这一层是关于使用通道将您的设备连接在一起的。 一个连接可以有多个通信渠道,而这些渠道不是单向的。 它们可以同时来回发送数据。它还控制其他一些小事情,例如连接(终端)窗口的外观。
SSH 与 SSL/TLS
传输层安全 ( TLS ) 协议更新了安全套接字层 ( SSL ) 协议,旨在为传输层的网络传输提供安全性。SSH 协议也在传输层或传输层之上运行,但两种协议之间存在重要差异。
虽然两者都依赖公钥/私钥对来验证主机,但只有服务器使用 TLS 下的密钥对进行验证。SSH 使用单独的密钥对来验证每个连接:一个密钥对用于从本地机器到远程机器的连接,第二个密钥对用于验证从远程机器到本地机器的连接。
SSH 和 TLS 之间的另一个区别是 TLS 允许在不进行身份验证的情况下对连接进行加密,或者在不进行加密的情况下进行身份验证。SSH 加密和验证所有连接。
SSH 为 IT 和信息安全 (infosec) 专业人员提供了一种远程管理 SSH 客户端的安全机制。SSH不需要密码验证来初始化 SSH 客户端和服务器之间的连接,而是验证设备本身。这使 IT 人员能够连接远程系统并修改 SSH 配置,包括在 known_hosts 文件中添加或删除主机密钥对。
不同类型的SSH加密
SSH 是加密的,但有多种方法可以实现。 每种方法都有自己的优点和缺点,这就是为什么在不同的情况下使用不同的方法。 让我们来看看三种最常见的加密方法。
对称加密
对称加密是指只有一个加密密钥可用于加密和解密。 或者换句话说,任何有权访问密钥的人都可以加密或解密使用此方法的任何数据。
这种方法可以用来加密整个过程,而不仅仅是数据。 密钥是通过称为 密钥交换算法 非常复杂。 本质上,双方都提供了一些信息并生成了密钥。这种类型的加密非常流行,可以加密从数据到输入密码的所有内容。
非对称加密
您还记得回到用户身份验证层,提到了私钥和公钥。 如果您要使用该身份验证方法,您还将使用非对称加密,因为它需要这两个密钥。在最简单的形式中,非对称加密发生在对称加密中(因为它加密了所有内容),并且两个设备使用公钥作为对称加密的秘密。
Hash加密
Hash加密与其他两种加密方法不同。 在此方法中,使用Hash加密算法来创建唯一的Hash字符串。 然后,机器将发送该哈希字符串以及打开它所需的哈希值。
接收数据的机器知道算法并且可以应用该值来打开数据。 如果值不匹配,则数据已损坏且无法读取。 最终,它可以保护所有类型的数据,但有一个缺点。
总结
在共享环境中,您无法设置 SSH,访问权限通常受到网络托管公司的限制。 但是,如果租用完整的服务器,则该限制将消失,可以设置 SSH。 这使您可以更好地控制网络服务器。可以使用 SSH 在代码级别发出和执行命令,对于有经验的WordPress建站开发人员来说。
推荐:什么是Brotli压缩?网站开启Brotli压缩的好处
常问问题
谁应该使用SSH
所有远程访问都由 SSH 保护吗
SSH 有什么缺点
推荐:LAMP是什么