FTP与SSH的区别
数据传输可以由用户或客户端机器发起,通过发送请求来启动。在另一端,服务器或目标设备接收请求,在发送响应消息之前进行验证。传输的数据根据每一层的功能转换为数据包或比特。OSI模型的应用层是最靠近最终用户的一层,应用层协议和用户之间进行通信。这一层提供文件共享、数据传输和数据库访问等选项。
FTP
文件传输协议 (FTP) 用于在网络上传输文件。它基于客户端-服务器架构,服务器转发客户端请求的文件。FTP 不会对传输过程中发送的用户名和密码进行任何加密,这些连接命令可以被网络上的任何人访问。这些安全问题可以通过使用 FTPS、SSH 或 VPN 来解决。因此,用户选择使用安全套接字层 (SSL) 和传输层安全 (TLS) 进行安全的数据通信,以实现可靠的文件访问、管理和其他文件管理操作。
SSH
安全外壳 (SSH) 允许两台计算机通过不安全的网络连接进行通信和交换信息。它使用远程登录来提供凭据和命令行执行以进行数据传输。它使用客户端-服务器架构,客户端向服务器发送请求。服务器发送公钥并向客户端打开安全通道以启动数据传输。然后客户端通过提供登录凭据来向服务器进行身份验证。
它工作于三个层次结构组件:传输层执行密钥的初始交换、服务器身份验证和加密方法,并管理压缩和完整性检查;第二个组件是用户身份验证层,负责管理客户端-服务器身份验证以确认客户端的身份;第三个组件是连接协议,在传输过程中控制授权方之间的通道。它通过在通信过程中加密所有客户端和服务器之间的所有数据流量来支持数据加密。
它使用三种加密方法:对称加密、非对称加密和哈希算法。SSH 需要验证未知的公钥,因为未经授权的用户如果没有正确验证,可以使用此公钥来干扰网络。它使用 TCP/IP 进行通信,端口号为 22。当用户想要启动连接时,远程系统应该运行 sshd 以监听使用端口号 22 的传入请求,然后它验证输入请求并激活连接。
此协议已取代了未受保护的远程 shell 协议,例如 telnet、Berkley 远程 Shell 和 RCP。它被网络专业人员或管理员广泛用于远程管理应用程序。
差异比较 |
FTP |
SSH |
---|---|---|
发明 |
它由 Abhay Bhushan 于 1971 年为 RFC 959 开发。 |
SSH-1 由 Tatu Yionen 于 1995 年发明。 |
用途 |
用途:它将文件从一个主机发送到另一个主机。 |
它用于通过安全 shell 通道传输数据。 |
使用的端口 |
它使用 TCP 端口号 20 和 21 发送数据和控制信息。 |
使用 TCP 端口号 22 提供对服务器设备的安全访问。 |
通信 |
它表示双向通信,其中主机设备通过上传和下载文件进行通信。 |
通信是从 ssh 终端进行的,以进行远程登录身份验证。 |
身份验证 |
FTP 需要用户名和密码才能启动文件传输。 |
使用各种身份验证方法,包括密码、公钥、GSSAPI、键盘或 OTP 方法。 |
加密 |
FTP 的初始版本不使用任何加密方法。 |
使用对称、非对称和哈希加密算法。 |
版本 |
FTP 被发明用于在设备之间传输文件,然后设计了 SFTP 来提供安全的文件传输。 |
SSH-1 和 SSH-2 是 SSH 的两个版本,第二个版本旨在减少初始版本中存在的安全漏洞。 |
可移植性 |
FTP 用于更广泛的网络中传输文件,它可能不适用于具有防火墙或类似安全应用程序的环境。 |
它比 FTP 更具可移植性,并在 Unix 型操作系统中运行。 |
功能 |
将文件从源传输到目标,并执行诸如复制、移动、删除等文件操作。 |
它传输文件并使用 shell 命令在远程设备上执行,还支持隧道和监控应用程序。 |
速度 |
FTP 传输数据速度更快,因为没有加密过程。 |
数据传输速度低于 FTP。 |
安全性 |
数据和控制消息没有安全算法 |
它使用身份验证和加密方法提供高安全性。 |
结论
FTP 使用命令行请求和身份验证过程将文件从一个主机发送到另一个主机。SSH 旨在通过不安全的通道以安全或加密模式在网络设备之间进行通信。这为用户提供了从一台设备到另一台设备的高端安全选项、强大的身份验证过程和完整性。