SSL 和 SSH 之间的区别是什么?
在了解它们之间的区别之前,让我们先了解安全套接字层 (SSL) 和安全外壳 (SSH) 的概念。
安全套接字层 (SSL)
这是一种基于加密的互联网安全技术。它旨在保护互联网通信中的数据完整性、隐私性和身份验证。SSL 是我们今天使用的 TLS 加密协议的前身。采用 SSL/TLS 的网站在其 URL 中使用“HTTPS”而不是“HTTP”。
SSL 记录为 SSL 连接提供两项服务,即机密性和消息完整性。数据在 SSL 记录协议应用程序中被分割。在添加使用 SHA 和 MD5 等方法生成的加密 MAC 之前,会先压缩片段。
这是一项标准技术,它通过防止罪犯读取和修改任何传输的信息(包括潜在的个人详细信息)来帮助我们确保数据安全。
SSL 通过加密来保护数据。当我们发送电子邮件时,我们需要读取其内容才能编写它,服务器需要读取其内容才能传递它。
而这些传输中的数据可能会被窃听并用于恶意目的。通过 SSL 协议传输的数据使用牢不可破的算法进行加密,除非它检测到交互双方都具有安全的 SSL 证书,否则不会泄露其秘密;这种方法称为“握手”。
绕过加密过程会使数据窃听者能够访问从私人电子邮件到在线购买记录再到银行账户信息的所有内容。
安全外壳 (SSH)
这是一个程序,用于通过网络登录到另一台计算机,在远程机器上执行命令以及将文件从一台机器移动到另一台机器。
安全外壳 (SSH) 是一种用于安全地通过不受信任的网络访问系统服务的密码系统约定。常见应用程序包括远程命令行登录和远程命令执行,但任何系统管理都可以通过 SSH 进行验证。
SSH 在客户端服务器架构中通过不受信任的网络提供安全通道,将 SSH 客户端应用程序与 SSH 服务器连接起来。协议规范识别两种版本,SSH-1 和 SSH-2。
SSH 的标准 TCP 端口是 22。SSH 通常用于访问类 Unix 操作系统,但它也可以用于 Microsoft Windows。Windows 10 使用 OpenSSH 作为其默认 SSH 客户端。
SSH 的设计目的是替代 Telnet 和不受信任的远程 shell 协议,例如 Berkeley rlogin、rsh 和 rexec 协议。这些协议以明文形式发送数据(特别是密码),这使得它们容易受到使用数据包分析的捕获和泄露。
SSH 使用的加密旨在提供通过不受信任的网络(例如互联网)的数据隐私和完整性,尽管爱德华·斯诺登泄露的文件表明,国家安全局有时可以解码 SSH,从而使他们能够读取 SSH 会话的内容。
**优点是**它具有高安全性,因为数据以加密格式传输。**缺点是**在大型环境中分发公钥可能很麻烦。
区别
SSL 和 SSH 之间的主要区别如下:
SSH (安全套接字层) | SSL (安全外壳) |
|---|---|
| SSH 是一种隧道协议,具有用户名/密码身份验证系统。 | SSL 没有用户名或密码身份验证系统。 |
| SSH 通常工作在 22 端口。 | SSL 工作在 443 端口。 |
| SSH 依赖于网络隧道。 | SSL 依赖于证书。 |
| SSH 是一个三阶段的服务器和客户端身份验证过程。 | SSL 是用于服务器和客户端身份验证的数字证书。 |
| SSH 加密互联网上两台计算机之间的通信。 | SSL 加密浏览器和服务器之间的通信。 |
| SSH 适用于安全地在互联网上执行命令。 | SSL 用于安全地传输信用卡和银行业务中的关键数据。 |
| SSH 使用对称密钥算法来提供数据机密性。 | SSL 使用对称和非对称加密算法来提供数据隐私。 |
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP