温馨提示×

linux telnet权限不足咋办

小樊
49
2026-10-03 15:15:51
栏目: 智能运维

在 Linux 下使用 telnet 时提示“权限不足”,通常不是 telnet 本身没权限,而是执行环境、用户权限或系统安全限制导致的。下面按常见原因给你排查和解决思路。


一、常见原因与解决办法

1️⃣ 当前用户不是 root,且端口 < 1024

现象:

telnet ip 80

可以,但:

telnet ip 23

提示 Permission denied

原因:
Linux 规定 普通用户不能绑定/连接特权端口(<1024) 的某些操作(尤其是 telnet 客户端在某些发行版中)。

解决:

sudo telnet ip port

或切换到 root:

su -
telnet ip port

2️⃣ telnet 命令没有执行权限

检查:

ls -l $(which telnet)

正常应是:

-rwxr-xr-x

修复:

sudo chmod 755 /usr/bin/telnet

3️⃣ SELinux 限制(CentOS / RHEL)

检查:

getenforce

如果是 Enforcing,可临时关闭测试:

sudo setenforce 0

如确认是 SELinux 问题:

sudo ausearch -m avc -ts recent

4️⃣ 没有安装 telnet 客户端

有些系统只装了 telnet-server 没装 client:

which telnet
# 没有输出说明没装

安装:

  • CentOS / RHEL:
sudo yum install telnet -y
  • Ubuntu / Debian:
sudo apt install telnet -y

5️⃣ 网络层面权限不足(防火墙 / 安全组)

不是 Linux 权限,而是:

  • iptables / firewalld
  • 云服务器安全组

测试:

ping ip
nc -vz ip port

6️⃣ 使用 telnet 登录远程被拒绝

如果是:

telnet: connect to address x.x.x.x: Permission denied

但你是 root,也可能是:

  • 远程禁用了 telnet
  • 本地被 SELinux / AppArmor 限制

二、更推荐的做法(重要)

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

  • 测试端口用:
nc -vz ip port
  • 远程管理用:
ssh user@ip

三、快速排查顺序(建议照做)

  1. sudo telnet ip port
  2. which telnet
  3. getenforce
  4. nc -vz ip port

如果你能贴出完整报错信息 + 系统版本(如 CentOS 7 / Ubuntu 22.04),我可以给你更精确的命令。

0 踩