麒麟os终端开启远程调试模式需启用telnet.socket服务、配置xinetd(旧镜像)、添加/etc/securetty pts白名单、放行防火墙23端口;缺一将导致连接被拒且无提示。

麒麟OS终端开启远程调试模式需绕过图形界面限制,直接启用底层服务监听能力,适用于无GUI环境或批量部署场景,操作失败将导致telnet连接被拒绝且无错误提示。
启用systemd托管的telnet.socket服务
该方式为麒麟V10默认机制,资源占用低、兼容性好,无需独立守护进程,由socket触发in.telnetd按需启动。
1、确认telnet-server组件已安装:rpm -q telnet-server;若返回未安装,则需先离线部署对应架构RPM包。
2、启用并立即启动服务:sudo systemctl enable --now telnet.socket。
3、验证监听状态:sudo ss -tlnp | grep ':23',输出中必须包含LISTEN及/usr/sbin/in.telnetd进程;若无返回,说明服务未激活。
4、检查socket是否支持IPv6通配:sudo grep 'ListenStream' /usr/lib/systemd/system/telnet.socket,输出应含ListenStream=23或ListenStream=[::]:23;【若仅含ListenStream=[::1]:23,则仅监听本地回环,远程无法连接】。
配置xinetd托管模式(仅限SP1/SP2旧镜像)
部分定制镜像仍依赖xinetd,此模式下telnet服务由xinetd统一调度,但需确保xinetd本身处于运行状态。
方法一:启用预置服务
1、确认xinetd已安装:rpm -q xinetd。
2、编辑配置文件:sudo vi /etc/xinetd.d/telnet,将disable = yes改为disable = no。
3、重启xinetd:sudo systemctl restart xinetd。
方法二:强制加载验证
执行sudo xinetd -d 2>&1 | grep telnet,输出service telnet enabled才表示生效;否则需检查/etc/xinetd.conf中是否启用了includedir /etc/xinetd.d。
适配PAM安全策略与终端白名单
银河麒麟默认启用PAM模块拦截非授权pts设备登录,若telnet连接时提示“Login incorrect”或直接断开,极大概率是此处被拦截。
第一步:检查/etc/securetty文件是否包含pts/0、pts/1等条目;若无,则telnet会话无法获得合法终端句柄。
第二步:向该文件追加常用pts编号:echo -e "pts/0\npts/1\npts/2" | sudo tee -a /etc/securetty。
第三步:重启telnet.socket服务使策略生效:sudo systemctl restart telnet.socket。
这一步操作起来很简单,直接把命令复制粘贴进终端回车就行。但漏掉会导致所有telnet连接在密码输入后立即中断,且不报具体错误。
放行防火墙端口并验证连通性
telnet使用标准端口23,若防火墙未放行,连接请求会在TCP三次握手阶段就被丢弃,客户端表现为超时或“无法连接到远程主机”。
① 打开【安全中心】→【网络保护】→【防火墙】→选择【自动配置】→勾选telnet-service;若未列出,手动添加规则:协议TCP、目标端口23、来源地址设为任意或限定可信IP段。
② 命令行方式放行:sudo firewall-cmd --permanent --add-port=23/tcp → sudo firewall-cmd --reload → sudo firewall-cmd --list-ports | grep 23,返回23/tcp即成功。
③ 从局域网另一台机器测试:telnet 192.168.1.105 23(替换为麒麟OS实际IP),看到Connected to提示即表示远程调试通道已就绪。











