Debian系统使用Telnet远程管理的步骤(含安全提醒)
Telnet服务需通过inetd(传统网络守护进程)或xinetd(增强版守护进程)管理。根据Debian版本选择安装包:
xinetd:sudo apt update
sudo apt install xinetd telnetd
inetd:sudo apt install inetd
安装完成后,系统会自动配置基础文件。
编辑/etc/xinetd.d/telnet文件,确保以下配置未被注释(删除行首#):
service telnet {
disable = no # 启用Telnet服务(关键参数)
socket_type = stream
protocol = tcp
wait = no
user = root # 以root用户启动服务
server = /usr/sbin/in.telnetd
log_on_failure += USERID # 记录失败登录的用户名
}
保存文件(Ctrl+O→Enter→Ctrl+X)。
编辑/etc/inetd.conf文件,找到并取消注释以下行:
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
取消注释后,inetd会监听23端口并转发请求至in.telnetd。
xinetd:sudo systemctl restart xinetd
inetd:sudo systemctl restart inetd
重启后,可通过以下命令验证服务状态:
sudo systemctl status xinetd # 或inetd
显示“active (running)”则表示服务已启动。
Debian默认使用ufw(Uncomplicated Firewall),需开放Telnet的默认端口(23/TCP):
sudo ufw allow 23/tcp
sudo ufw reload # 重新加载防火墙规则
若使用iptables,可执行:
sudo iptables -A INPUT -p tcp --dport 23 -j ACCEPT
(注:iptables规则需持久化保存,避免重启失效)。
在本地计算机(或其他Debian设备)的终端中,输入以下命令连接目标服务器(将your_server_ip替换为实际IP):
telnet your_server_ip
连接成功后,会提示输入用户名和密码(输入时密码不显示,正常输入即可登录)。
Telnet协议传输的数据(包括用户名、密码)为明文,易被中间人攻击窃取。生产环境强烈建议使用SSH(Secure Shell)替代,SSH通过加密通道保护数据安全。
若需安装SSH,可执行以下命令:
sudo apt update
sudo apt install openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh # 开机自启
SSH默认端口为22,连接方式为:
ssh username@your_server_ip
(输入密码后即可安全登录)。