帮助中心
如何在Ubuntu 24.04 LTS上安装和使用Telnet

如何在Ubuntu 24.04 LTS上安装和使用Telnet


Telnet 是一种用于 TCP/IP 网络的终端仿真程序,通过登录远程系统,可以访问互联网或本地网络上的另一台计算机。Telnet 是一种客户端-服务器端协议,连接到传输控制协议的 23 端口。您还可以使用 Telnet 检查远程系统上的开放端口。


在本教程中,你将学习如何在 Ubuntu 24.04 LTS 服务器上安装和使用 Telnet 服务器和客户端。同样的步骤也适用于旧版本的 Ubuntu,如 Ubuntu 22.04 和 Ubuntu 20.04。


警告:Telnet 是一种未加密的协议,因此并不安全。本指南仅供教学使用,不建议在系统中使用 Telnet 服务器。本指南将向您介绍如何安装和使用 Telnet 客户端和服务器,以便您进一步了解这一古老的服务器管理协议,或使用 Telnet 客户端测试您的邮件服务器。我们不建议在当今的服务器上使用 Telnet(服务器),主要是在互联网上使用时。要通过网络管理服务器,请使用 SSH 而不是 Telnet。使用 Telnet 客户端则不同。例如,Telnet 客户端是测试邮件或网络服务器的重要工具,如下图所示。


要求


  • 安装了 Ubuntu 24.04 的服务器。
  • 一个拥有 sudo 权限的非 root 用户。
  • 在服务器上安装一个静态 IP 地址,如 192.168.0.100。


安装 Telnet 客户端


Ubuntu 24.04 软件仓库中提供了 Telnet 服务器软件包。只需运行以下命令即可安装:

sudo apt install telnet -y


安装 Telnet 服务器


只有当你想提供 Telnet 登录时,才需要 Telnet 服务器;如果你想使用 Telnet 命令测试其他服务,请跳过这一步。Ubuntu 24.04 软件仓库中提供了 Telnet 服务器软件包。只需运行以下命令即可安装:

sudo apt install telnetd -y

接下来,用编辑器打开/etc/inetd.conf 文件:

sudo nano /etc/inetd.conf

在文件末尾添加以下一行

telnet  stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/telnetd

保存 inetd.conf 配置文件并重启 inetd 服务:

sudo systemctl restart inetd

安装完成后,可以使用以下命令检查 Telnet 服务的状态:

sudo systemctl status inetd

输出:

root@server1:~# sudo systemctl status inetd
? inetd.service - Internet superserver
     Loaded: loaded (/usr/lib/systemd/system/inetd.service; enabled; preset: enabled)
     Active: active (running) since Wed 2024-05-29 11:53:38 UTC; 16min ago
       Docs: man:inetd(8)
   Main PID: 132955 (inetd)
      Tasks: 1 (limit: 4557)
     Memory: 552.0K (peak: 808.0K)
        CPU: 84ms
     CGroup: /system.slice/inetd.service
             ??132955 /usr/sbin/inetd

May 29 11:53:38 server1 systemd[1]: inetd.service: Scheduled restart job, restart counter is at 1.
May 29 11:53:38 server1 systemd[1]: Starting inetd.service - Internet superserver...
May 29 11:53:38 server1 systemd[1]: Started inetd.service - Internet superserver.


测试远程系统的 Telnet 连接


Telnet 服务器现已安装,并监听端口 23。现在是时候从远程系统连接 Telnet 服务器了。


现在,登录另一个 Ubuntu 系统并运行以下命令:

telnet 192.168.0.100

系统会要求你输入用户名和密码。验证成功后,您将看到以下输出:

Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.

Linux 6.8.0-31-generic (server1.example.com) (pts/1)

server1 login: febhost.com
Password:
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-31-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.
You have new mail.

现在可以使用 Telnet 在 Telnet 服务器上运行任何命令。


使用 Telnet 测试开放端口


你还可以使用 Telnet 测试远程系统上的开放端口。


例如,要测试远程系统(IP 192.168.0.100)上的 80 端口,请运行以下命令:

telnet 192.168.0.100 80

如果端口 80 已打开,则会出现以下输出:

Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.

如果端口 80 被阻止或 Telnet 服务未运行。您将看到以下输出:

Trying 192.168.0.100...
telnet: Unable to connect to remote host: Connection refused


使用 Telnet 命令测试邮件服务器


Telnet 命令对测试邮件服务器也非常有用。使用 Telnet 连接邮件服务器

telnet 192.168.0.100 25

如果连接成功,您将看到来自另一台服务器的类似下面的响应:

Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Debian/GNU)

现在,您可以使用 ehlo 命令回复服务器,后面跟上您的发件人域名。例如

ehlo mydomain.tld

邮件服务器会显示它支持哪些方法。

250-server1.example.com
250-PIPELINING
250-SIZE
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250-SMTPUTF8
250 CHUNKING

要退出连接,请输入 quit 命令。

quit

结果将是

221 2.0.0 Bye
Connection closed by foreign host.

完整的命令序列如下

user@server1:~# telnet 192.168.0.100 25
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Debian/GNU)
ehlo mydomain.tld
250-server1.example.com
250-PIPELINING
250-SIZE
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250-SMTPUTF8
250 CHUNKING
quit
221 2.0.0 Bye
Connection closed by foreign host.
user@server1:~#

如果您想了解邮件服务(端口 25)是否被互联网服务提供商或数据中心屏蔽,此测试程序将非常有用。

文章相关标签: Ubuntu 24.04 LTS Telnet Ubuntu
购物车