Telnet基础认知
-
Telnet的作用
Telnet是一种基于TCP/IP的远程登录协议(默认端口23),允许用户通过网络控制服务器。但请注意:Telnet传输数据为明文(包括密码),极易被截获,仅建议在内部安全环境或测试场景使用,生产环境强烈推荐SSH(加密协议)替代。 -
服务端与客户端区分
- 服务端:
telnetd
(提供远程登录服务) - 客户端:
telnet
(连接其他主机的工具)
本文涵盖两者的安装与使用。
- 服务端:
安装Telnet服务端
Ubuntu/Debian 系统
sudo apt install telnetd -y # 启动服务(由inetd/xinetd管理) sudo systemctl enable inetd && sudo systemctl start inetd
CentOS/RHEL 系统
# 启用并启动服务 sudo systemctl enable telnet.socket sudo systemctl start telnet.socket
配置防火墙
允许TCP端口23(Telnet默认端口):
# Ubuntu/Debian (UFW) sudo ufw allow 23/tcp # CentOS/RHEL (Firewalld) sudo firewall-cmd --permanent --add-port=23/tcp sudo firewall-cmd --reload
客户端连接测试
-
安装Telnet客户端
# Ubuntu/Debian sudo apt install telnet -y # CentOS/RHEL sudo yum install telnet -y
-
从其他机器连接服务器
telnet 服务器IP地址
- 输入服务器用户名/密码登录(注意:密码以明文传输)
- 成功登录后显示终端提示符(如 或 )
安全加固建议(关键步骤)
Telnet的明文传输存在重大风险,务必采取以下措施:
-
限制访问IP(通过防火墙)
仅允许可信IP访问端口23:sudo ufw allow from 192.168.1.100 to any port 23 # Ubuntu sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="23" protocol="tcp" accept' # CentOS
-
使用xinetd高级配置(CentOS示例)
编辑/etc/xinetd.d/telnet
:service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID no_access = 192.168.1.0/24 # 禁止整个网段 only_from = 10.0.0.0/8 # 仅允许指定IP段 }
重启服务:
sudo systemctl restart xinetd
-
立即迁移至SSH
# 安装SSH服务端 sudo apt install openssh-server # Ubuntu sudo yum install openssh-server # CentOS # 禁用Telnet服务 sudo systemctl stop telnet.socket && sudo systemctl disable telnet.socket
常见问题排查
-
连接被拒绝
- 检查服务是否运行:
netstat -tuln | grep 23
- 确认防火墙未拦截:
sudo iptables -L -n
- 检查服务是否运行:
-
登录失败
- 确保用户密码正确
- 检查PAM配置:
/etc/pam.d/login
或/etc/pam.d/telnet
-
服务未启动
- 查看日志:
journalctl -u telnet.socket
(CentOS)或/var/log/syslog
(Ubuntu)
- 查看日志:
- 功能实现:通过安装
telnetd
和配置防火墙可快速启用服务。 - 核心风险:Telnet无加密机制,严禁在公网或敏感环境中使用。
- 终极建议:用SSH替代Telnet,SSH提供同等功能且加密所有数据,执行
ssh 用户名@服务器IP
更安全可靠。
引用说明:本文操作基于Linux官方文档(Ubuntu,CentOS)及网络管理最佳实践,安全建议参考NIST SP 800-123指南。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5975.html