SSH 和 SFTP 的区别是什么?
让我们首先了解什么是 SSH。
SSH
SSH 代表安全外壳 (Secure Shell) 或安全套接字外壳 (Secure Socket Shell)。它是一种加密系统协议,使两台计算机能够通过不安全的网络(包括互联网)连接并发送数据。它可以登录到远程服务器以执行命令并将数据从一台设备传输到另一台设备。
SSH 协议由 SSH 通信安全有限公司建立,用于安全地连接到远程设备。安全通信支持强大的密码身份验证和通过不安全介质进行的公共密钥加密连接。它可以替代不安全的远程登录协议,包括 Telnet、rlogin、rsh 等,以及不安全的 FTP 文件传输协议。
SSH 协议的优点
SSH 协议具有以下优点:
它支持对用户和自动化过程的安全访问。
它可以登录到远程系统(主机)上的 shell,替代 Telnet 和 rlogin,并且可以在主机上执行单个命令,替代 rsh。
它用于通过与 SSH 用户的加密代理连接安全地浏览 Web,提供 SOCKS 协议。
它使用户能够处理网络基础设施和各种关键系统元素。
SFTP
SFTP 代表安全文件传输协议 (Secure File Transfer Protocol)。它支持通过 SSH 进行安全文件传输,从而支持访问远程 SFTP 服务器上的所有 shell 帐户。SSH 是一种用于通过不受信任的网络安全远程访问设备的协议。SSH 是 telnet、rsh、rlogin 的替代方案。SFTP 检查用户身份,一旦建立安全连接,数据就会被加密。
该协议的一个特点是命令可以流水线化,响应可以以任何顺序到达。这可以定义会话分配更少的等待响应时间,并且有空间优化来自具有多个速度数据源的单个服务器的并发传输。
SFTP 的优点
SFTP 具有以下优点:
它可以提供 TMUX、Screen 会话。
它使我们能够通过 SSH 通道执行命令。
它支持交互式键盘身份验证。
它可以提供自定义通道。
它可以自动将远程系统的字符集的文本输出转换为基于 Unicode 的字符串。
SFTP 的缺点
SFTP 的缺点如下:
连接是二进制的,无法记录。
SSH 密钥不容易处理和验证。
标准将某些内容定义为可选或推荐的。这可能会导致不同供应商开发的不同软件之间的兼容性问题。