SSH 和 Telnet是帮助用户与远程系统建立连接的两种通信协议,这些通信协议决定了数据如何在网络上的不同设备之间传输,这些设备通常需要通过各种物理和数字环境进行传输,网络协议的主要目标是通信、网络管理和安全。
Telnet
Telnet是一种较旧的通信协议,允许用户在远程设备上打开会话以访问特定的应用程序或下载文件,它依赖于客户端-服务器模型,该模型允许客户端计算机上的用户打开远程服务器上的命令行。该协议现在基本上已经过时了,只用于不太重要的应用程序,例如在仍然接受Telnet连接的公共服务器上访问怀旧游戏,虽然Telnet依赖于现有的HTTP和FTP连接来建立远程访问,但它不是一个安全的协议,任何人都可以查看通过Telnet连接发送的用户名和密码,这使得它不适合更关键的应用程序。
安全 SHell (SSH)
SSH是一种网络协议,它改进了 Telnet的局限性,Telnet最大的缺点之一是它的远程会话不安全,相反,SSH采用了加密技术,使得试图窥探的外部查看器无法访问远程会话。SSH 是用于 Linux和 macOS系统上建立远程访问的主要协议,它使用 PuTTY客户端执行 shell命令并访问远程系统上的应用程序,除此之外,像 Cyberduck这样的客户端(在macOS上)提供图形界面来帮助建立远程会话。
SSH 和 Telnet的区别
Telnet | SSH |
---|---|
为 Unix 机器设计 | 最初为 Linux 设计,但可以在 macOS 甚至 Windows 上使用适当的客户端 |
在端口 23 上运行,专用于 LAN 网络 | 端口 22 是 SSH 连接的默认端口,但是可以修改 |
远程连接不安全 | SSH 采用对称、非对称和哈希加密技术来保护远程连接 |
数据传输以纯文本形式完成 | 数据被加密并通过网络发送 |
不依赖于身份验证机制来对客户端进行身份验证 | 使用公钥加密对客户端进行身份验证 |