温馨提示×

linux telnet无法登录咋办

小樊
37
2026-09-03 12:19:05
栏目: 智能运维

在 Linux 上 telnet 无法登录 通常涉及服务、网络、权限或安全策略问题。可以按下面步骤逐步排查:


一、确认 telnet 服务是否运行

1. 检查 telnet 服务是否存在

which telnetd

rpm -qa | grep telnet
# 或
dpkg -l | grep telnet

如果没有 telnet-server / telnetd,需要安装:

# CentOS / RHEL
yum install telnet-server

# Ubuntu / Debian
apt install telnetd

2. 启动 telnet 服务(xinetd 方式)

telnet 通常依赖 xinetd

systemctl status xinetd
systemctl start xinetd
systemctl enable xinetd

确认 telnet 已启用:

vi /etc/xinetd.d/telnet

确保:

disable = no

重启 xinetd:

systemctl restart xinetd

二、检查端口是否监听

netstat -lntp | grep 23
# 或
ss -lntp | grep 23

正常应看到:

tcp 0 0 :::23 :::* LISTEN

三、网络与防火墙问题

1. 防火墙是否放行 23 端口

# firewalld
firewall-cmd --list-all
firewall-cmd --add-port=23/tcp --permanent
firewall-cmd --reload

# iptables
iptables -L -n

2. SELinux 限制(CentOS/RHEL)

getenforce

如果是 Enforcing,可临时测试:

setenforce 0

永久允许:

setsebool -P telnetd_on 1

四、用户登录限制(很常见)

1. /etc/securetty 限制

telnet 登录用户必须在:

cat /etc/securetty

若没有 pts/0 等,可添加:

pts/0
pts/1

2. 用户被禁止登录

passwd -S 用户名

若状态是 L(锁定),解锁:

passwd -u 用户名

3. root 默认不能 telnet

默认禁止 root 直接 telnet,这是安全设计
解决方式:

  • 用普通用户登录后再 su -
  • 或(不推荐):
echo "pts/0" >> /etc/securetty

五、PAM 限制

检查:

vi /etc/pam.d/login

确认没有被强制拒绝 telnet 用户。


六、客户端侧问题

1. 能否 ping 通

ping 服务器IP

2. 端口是否通

telnet 服务器IP 23

七、强烈建议(重要)

⚠️ telnet 是明文传输,极不安全 生产环境强烈建议使用:

  • SSH
systemctl status sshd

快速自查清单

✅ telnet-server 已装
✅ xinetd 已启动
✅ 23 端口监听
✅ 防火墙放行
✅ SELinux 允许
✅ 用户未锁定
✅ 非 root 直登


如果你愿意,可以告诉我:

  • 系统版本(CentOS / Ubuntu?)
  • 报错信息(连接拒绝 / 登录失败 / 超时?)

我可以帮你精准定位。

0