Telnet

来自 ArchWiki

来自 Wikipedia

Telnet (是“teletype network”的缩写) 是一种客户端/服务器应用程序协议,它提供对本地局域网或互联网上远程系统的虚拟终端的访问。

如今,由于安全问题,telnet 已很少使用,通常仅用于遗留软件和硬件。有关如何缓解安全问题的信息,请参阅 #安全问题

安装

安装 包含 telnet 客户端、带有 systemd 服务和套接字的 inetutils 软件包。

要使用 xinetd 配置 telnet 服务器,也请安装 xinetdAUR

配置

要在 systemd 中启用 telnet 服务器连接,请启用 telnet.socket(如果 telnet 服务器应在每次启动时启动),并启动 telnet.socket 以测试连接性。

要在 xinetd 中启用 telnet 服务器连接,请编辑 /etc/xinetd.d/telnet,将 disable = yes 更改为 disable = no,然后重启 xinetd 服务。

如果您希望在启动时启动 systemd xinetd 服务,请启用 systemd xinetd 服务。

测试设置

尝试打开到您的服务器的 telnet 连接

$ telnet localhost

尝试 root 登录,看看您的配置是否允许这样做,以及这暗示的安全隐患。

如果在收到登录提示符之前会话断开连接,请尝试安装 inetutils-gitAUR 以代替当前的 inetutils 并重启 telnet.socket。

提示: 如果您从发送具有非 Unicode 编码的非 ASCII 字符的远程 telnet 服务器收到乱码,您可能需要尝试 luit 来解决此问题。

技巧与诀窍

安全问题

Telnet 是一种纯文本协议,不支持 TLS 加密。数据很容易被拦截和修改,因此不应在生产服务器上使用,或用于传输敏感数据。

有一些尝试可以缓解上述安全问题,请参阅 #Netkit#隧道 以了解缓解措施。

Netkit

您可以使用 netkit-telnet-sslAUR,它修改了协议以支持 TLS 加密

隧道

您可以使用 VPNSSH 为两台设备或网络之间的 telnet 流量创建加密隧道。

注意: telnet 流量仅在加密隧道内时才会被加密,请确保隧道连接到的网络或设备是安全的。