远程访问活动网络上的其他操作系统环境不仅仅是SSH(Secure Shell)协议。Telnet通过 TCP/IP 协议实现相同的功能。
使用Telnet,您不仅可以建立成功的远程连接,还可以对定义远程计算环境的系统服务进行故障排除和测试。
例如,我们可以检查特定端口是否在目标远程系统上处于活动/打开/侦听状态。值得注意的是Telnet使用端口23进行远程 TCP 连接。
在 Linux 中安装 Telnet
本文将引导我们完成这个古老的服务器管理协议的安装和使用。由于Telnet是未加密的,因此建议使用它仅用于测试目的并用于用户定义的网络。
$ sudo apt-get install telnetd [在 Debian, Ubuntu 和 Mint 上]
$ sudo yum install telnetd [在 RHEL/CentOS/Fedora 和 Rocky Linux/AlmaLinux 上]
$ sudo emerge -a net-misc/netkit-telnetd [在 Gentoo Linux 上]
$ sudo pacman -S telnetd [在 Arch Linux 上]
$ sudo zypper install telnetd [在 OpenSUSE 上]
在 Linux 中安装 Telnet
检查其状态以确保它已启动并正在运行。
sudo systemctl status inetd
在 Linux 中检查 Telnet
通过 Telnet 测试远程 Linux 连接
要通过Telnet执行与远程主机系统的未加密连接,我们首先需要识别目标机器的 IP 地址。
$ ifconfig
查找 Linux IP 地址
此外,目标远程 Linux 机器上应安装Telnet,按照上面讨论的建议安装命令:
$ sudo apt install telnetd -y
此外,检查Telnet的状态以确保它也在远程计算机上运行:
$ sudo systemctl status inetd
在 Telnet 驱动的服务器机器上,我们将遵守以下语法规则:
$ telnet [远程系统IP地址]
上述语法规则的实现如下所示:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
telnet 192.168.174.170
上面的 IP 地址属于目标机器。如果您在远程/目标 Linux 机器上使用或启用了防火墙,则需要允许通过端口23的流量,因为Telnet使用它进行网络通信:
$ sudo ufw allow 23/tcp [在 Ubuntu & Debian 上]
$ sudo firewall-cmd --permanent --zone=public --add-port=23/tcp [在 RHEL 上]
$ sudo firewall-cmd --reload
我们现在可以尝试与目标/远程 Linux 机器建立Telnet连接:
$ telnet 192.168.174.170
使用 Telnet 连接到 Linux
一个可接受的用户登录输入之后将是一个密码请求,当我们键入该密码时,我们应该可以对远程 Linux 系统进行管理访问。授予访问权限后,界面应更改为如下所示:
Telnet 远程 Linux 登录
如果需要,我们可以从这里执行正常的操作系统操作。
通过 Telnet 在 Linux 上测试开放端口
Telnet为其用户提供的另一个有趣的功能是它能够通过其 IP 地址检测目标远程系统上的打开或关闭端口。此功能可用于找出系统上存在的任何漏洞。
例如,我们可以通过执行以下命令来检查上述远程系统是否打开了80端口:
$ telnet 192.168.174.170 80
如果端口打开,您将看到如下输出:
使用 Telnet 检查 Linux 端口
如果端口被阻塞,则预期以下结果:
Telnet 无法连接到远程主机
您还可以通过 SMTP 端口25测试您的邮件服务器:
$ telnet 192.168.174.170 25
使用Telnet ,您可以使用与SSH相同的方法与其他客户端计算机建立远程连接,并通过对可疑端口是否正在侦听/打开或无意关闭进行故障排除来额外测试系统上的任何漏洞。