在 Linux 下使用 telnet 时提示“权限不足”,通常不是 telnet 本身没权限,而是执行环境、用户权限或系统安全限制导致的。下面按常见原因给你排查和解决思路。
现象:
telnet ip 80
可以,但:
telnet ip 23
提示 Permission denied
原因:
Linux 规定 普通用户不能绑定/连接特权端口(<1024) 的某些操作(尤其是 telnet 客户端在某些发行版中)。
解决:
sudo telnet ip port
或切换到 root:
su -
telnet ip port
检查:
ls -l $(which telnet)
正常应是:
-rwxr-xr-x
修复:
sudo chmod 755 /usr/bin/telnet
检查:
getenforce
如果是 Enforcing,可临时关闭测试:
sudo setenforce 0
如确认是 SELinux 问题:
sudo ausearch -m avc -ts recent
有些系统只装了 telnet-server 没装 client:
which telnet
# 没有输出说明没装
安装:
sudo yum install telnet -y
sudo apt install telnet -y
不是 Linux 权限,而是:
测试:
ping ip
nc -vz ip port
如果是:
telnet: connect to address x.x.x.x: Permission denied
但你是 root,也可能是:
⚠️ telnet 是明文协议,极不安全
生产环境强烈建议:
nc -vz ip port
ssh user@ip
sudo telnet ip portwhich telnetgetenforcenc -vz ip port如果你能贴出完整报错信息 + 系统版本(如 CentOS 7 / Ubuntu 22.04),我可以给你更精确的命令。