SSH 含义 | SSH 协议定义2025年3月17日 | 阅读 8 分钟 SSH 是 安全外壳(Secure Shell)或安全套接字外壳(Secure Socket Shell) 的缩写。它是一种加密网络协议,允许两台计算机在不安全的网络(如互联网)上进行通信和共享数据。它用于登录远程服务器以执行命令以及在计算机之间传输数据。 SSH 协议由 SSH Communication Security Ltd. 开发,用于安全地与远程计算机通信。 安全通信通过强大的密码身份验证和通过不安全通道的公钥加密通信提供。它用于替换不安全的远程登录协议,如 Telnet、rlogin、rsh 等,以及不安全的 文件传输协议 FTP。 其安全功能被网络管理员广泛用于远程管理系统和应用程序。 SSH 协议保护网络免受各种攻击,例如 DNS 欺骗、IP 源路由和 IP 欺骗。 可以理解一个简单的例子,比如你想给朋友寄一个包裹。没有 SSH 协议,任何人都可以打开并阅读它。但是如果你使用 SSH 协议发送,它将被加密并用公钥保护,只有收件人才能打开它。 SSH 之前![]() SSH 之后![]() SSH 协议的用途SSH 协议的常用用途如下所示
SSH 如何工作?SSH 协议在 客户端-服务器 模型下工作,这意味着它将一个安全 shell 客户端应用程序(显示会话的终端)与 SSH 服务器(执行会话的终端)连接起来。 如上所述,它最初是为了取代 Telnet、rlogin 等不安全的登录协议而开发的,因此它执行相同的功能。 ![]() SSH 的基本用途是连接远程系统以进行终端会话,为此,使用以下命令 上述命令允许客户端使用用户名 UserName 连接到名为 server.test.com 的服务器。 如果我们是第一次连接,它会提示远程主机的公钥指纹并询问是否连接。将出现以下消息 要继续会话,我们需要单击“是”,否则单击“否”。如果我们单击“是”,那么主机密钥将被存储在本地系统的 known_hosts 文件中。密钥默认包含在隐藏文件中,该文件位于主目录下的 /.ssh/known_hosts。一旦主机密钥存储在此隐藏文件中,就不需要进一步的批准,因为主机密钥将自动验证连接。 SSH 协议的历史SSH 有 3 个版本,如下所示
SSH 协议的架构SSH 架构由三个清晰分离的层组成。这些层是
SSH 协议架构是一个开放式架构,因此它提供了极大的灵活性,并使 SSH 能够用于除安全 shell 之外的许多其他用途。在该架构中,传输层类似于传输层安全 (TLS)。用户认证层可以与自定义认证方法一起使用,连接层允许将不同的辅助会话多路复用到一个 SSH 连接中。 传输层该 传输层 是 TCP/IP 协议栈的顶层。对于 SSH-2,此层负责处理初始密钥交换、服务器身份验证、加密设置、压缩和完整性验证。它作为发送和接收明文数据包的接口,数据包大小可达 32,768 字节。 用户认证层顾名思义,用户认证层负责处理客户端认证并提供各种认证方法。认证在客户端进行,因此当出现密码提示时,通常是针对 SSH 客户端而不是服务器,服务器响应这些认证。 此层包含各种认证方法,这些方法是
连接层连接层定义了提供 SSH 服务的各种通道。它定义了通道、通道请求和全局请求的概念。一个 SSH 连接可以同时托管不同的通道,并且还可以同时在两个方向上传输数据。通道请求在连接层中用于传递带外通道特定数据,例如终端窗口的大小更改或服务器端进程的退出代码。连接层的标准通道类型是
使用 SSH 协议可以传输什么?SSH 协议可以传输以下内容
文件通过 SFTP(安全文件传输协议)传输,它是 FTP 的加密版本,可提供安全性以防止任何威胁。 SSH 与 Telnet 的区别
SSH 加密技术为了实现安全传输,SSH 在传输的各个点使用三种不同的加密技术。这些技术是
对称加密在对称加密技术中,只能使用一个密钥来加密和解密发送和接收的消息。此技术也称为 共享密钥加密,因为两个设备都使用相同的密钥来加密它们发送的数据并解密接收到的数据。 此技术可以加密整个 SSH 连接,以防止中间人攻击。在此技术中,在初始密钥交换时会出现一个问题。根据此问题,如果第三者在密钥交换期间存在,他们可能会知道密钥并阅读整个消息。 密钥交换算法 用于解决此问题。使用此算法,可以安全地交换密钥而不会被拦截。 需要非对称加密来实现密钥交换算法。 非对称加密在非对称加密中,使用两个不同的密钥进行加密和解密,即私钥和公钥。私钥仅对用户保密,不能与其他用户共享,而公钥则公开共享。公钥保存在 SSH 服务器上,而私钥保存在本地 SSH 客户端上;这两个密钥形成一个密钥对。用公钥加密的消息只能用相应的私钥解密。 这是一种更安全的技术,因为即使第三方获得了公钥,他们也无法解密消息,因为他们不知道私钥。 非对称加密不加密整个 SSH 会话。相反,它主要用于对称加密的密钥交换算法。在此过程中,在建立连接之前,两个系统(客户端和服务器)会临时生成公钥-私钥对,然后共享它们的私钥以生成共享的密钥。 在建立安全的对称连接后,服务器使用公钥将其传输给客户端进行身份验证。只有客户端拥有私钥才能解密数据,从而建立 SSH 会话。 哈希在 SSH 中,使用单向哈希作为加密技术,这是密码学的另一种形式。哈希技术与上述两种方法不同,因为它不是指解密。它生成信息的签名或摘要。SSH 使用 HMAC(基于哈希的消息认证)来确保消息完整且未被修改地到达。 在此技术中,每条传输的消息都必须有一个 MAC,它使用三个组件:对称密钥、数据包序列号和消息内容。这三个组件构成一个哈希函数,生成一个没有意义的字符串,并将此字符串发送到主机。主机也拥有相同的信息,因此它们也生成一个哈希函数,如果生成的哈希与接收到的哈希匹配,则表示消息未被篡改。 下一个话题UTP 与 STP |
我们请求您订阅我们的新闻通讯以获取最新更新。