Linux安装telnet服务全攻略:从配置到排障一网打尽

1. 项目背景与常见用途盘点

说实话,看到“linux安装telnet服务”这个标题,我的第一反应是:现在还用telnet的人不多了,但凡是写这篇文章,多半是因为实际工作里确实撞上了这个需求。我在日常运维和交付项目时遇到过几类典型场景,这里先说清楚,方便你对号入座。

第一类是调试老设备。有些网络设备、嵌入式板卡、老型号存储设备,管理接口只开放了telnet协议,你不得不装一个客户端去连;第二类是内网环境做端口连通性测试,很多团队在排查“两台机器之间某个端口到底通不通”时,第一时间想到的就是telnet命令;第三类则是某些特定合规或教学环境,需要提供telnet服务端,比如做协议分析、给学员演示明文协议的危害。

需要特别强调的是,生产环境里用telnet做远程登录我是不推荐的,密码和内容全部明文传输,抓包就能看到。但在受控的内网测试环境、临时调试场景里,它依然是个非常趁手的工具。这篇文章我会把服务端和客户端的安装、配置、启动、验证、排障全部走一遍,覆盖常见发行版,同时把我在实际环境中踩过的坑一并写给读者参考。

适合谁来读?如果是刚接触Linux的读者,跟着步骤操作可以完成基础安装;如果你已经有几年经验但没在内网环境专门配过telnet服务端,可以重点看配置细节和排障思路。内容围绕“装起来、跑起来、能登录、能测试、能排查”这条主线,不绕弯子。

2. 安装前准备与协议基础

2.1 telnet协议前世今生

telnet是一个非常古老的远程终端协议,从1969年诞生到现在已经跨越了半个世纪。它工作在TCP层,默认端口23,核心作用就是让用户通过网络连接到远程主机,以字符终端方式执行命令。因为是纯文本协议,所有交互内容不加密,这也是它被SSH取代的根本原因。

但从排障角度看,telnet客户端恰恰因为“简单到极致”而不可替代:它就是建立一个TCP连接,然后把键盘输入原样发给对方,把对方返回的字节原样显示出来。这个特性让它成为最直接的TCP端口连通性探测工具,没有TLS握手、没有协议封装、没有多余交互,你敲下一行命令就知道端口通不通。

2.2 服务端与客户端的区别

很多人第一次装telnet容易搞混:telnet-server是服务端,让你这台机器能被别人远程登录;telnet是客户端,让你这台机器能去连接别人的telnet服务。实际工作中,客户端用得频率更高,因为我们日常排障时经常拿它去连其他机器的22、80、443、3306等端口看通不通。

如果只是测试端口连通性,只需要装telnet客户端。如果要求别人能通过telnet登录这台机器,才需要装telnet-server,同时还需要一个守护进程来托管它,常见的是xinetd,在Debian系也有openbsd-inetd可选。

2.3 发行版差异对照

我在不同发行版上安装时,总结了下面这个对应关系,避免在错误的包管理体系里浪费时间:

操作系统服务端软件包客户端软件包守护进程
CentOS / Rocky / AlmaLinux 7telnet-servertelnetxinetd
CentOS / Rocky / AlmaLinux 8+telnet-servertelnetxinetd
Ubuntu / Debiantelnetdtelnetopenbsd-inetd 或 xinetd
openSUSEtelnet-servertelnetxinetd

还有一个容易被忽略的点:很多发行版默认是不带telnet-server的,需要额外配置软件源。比如Rocky Linux 9的AppStream源里虽然有,但要确认epel是否启用,我后面会专门讲。

3. 详细安装步骤与配置说明

3.1 基于CentOS / Rocky / AlmaLinux的安装

RHEL系的操作系统是最常见的目标环境,我以Rocky Linux 9为例,CentOS 7的差异会在括号里说明。

dnf install -y telnet-server telnet xinetd

先装这三个包,telnet-server提供服务端程序,telnet是客户端,xinetd负责把连接请求转发给telnet-server。安装完成后,需要配置xinetd来管理telnet服务,配置文件位置在 /etc/xinetd.d/telnet,示例内容如下:

service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = no }

这里重点看两个参数:disable必须为no表示启用服务;server指向in.telnetd,这个路径可以用rpm -ql telnet-server确认。配置完成后重启xinetd服务,并设置开机自启:

systemctl restart xinetd systemctl enable xinetd

CentOS 7上没有systemctl enable xinetd的需求时,用chkconfig xinetd on也是一样的效果。我个人的建议是直接用systemctl,因为RHEL 7之后service和chkconfig都只是兼容壳。

3.2 基于Ubuntu / Debian的安装

Debian系走另一套方案,用telnetyd加openbsd-inetd:

apt update apt install -y telnetd openbsd-inetd

安装完成后,openbsd-inetd服务会自动读取 /etc/inetd.conf 配置文件并启动telnet服务。可以检查一下配置文件里是否有一行:

telnet stream tcp nowait telnetd /usr/sbin/telnetd

这一行告诉inetd:如果收到TCP连接请求,就把连接交给/usr/sbin/telnetd处理。所以Ubuntu上启动telnet服务的方式是:

systemctl restart openbsd-inetd systemctl enable openbsd-inetd

如果你更喜欢xinetd而不是openbsd-inetd,也可以apt install xinetd,然后参考上一小节的配置方式,把disable设成no。我试过两种方式,openbsd-inetd更轻量,xinetd日志更丰富,看个人习惯。

3.3 验证安装结果

安装后先别急着连,用以下几条命令做基础验证:

rpm -qa | grep telnet dpkg -l | grep telnet ss -lntp | grep 23

rpm或dpkg两条命令确认软件包已安装。ss -lntp则是关键,一定要看到类似输出:

LISTEN 0 1 0.0.0.0:23 0.0.0.0:* users:(("xinetd",pid=...,fd=...))

如果ss没看到23端口监听,说明服务端没被正确拉起,这个问题在后面的排查章节展开。

3.4 防火墙与安全组放行

服务端启动但不代表外部能连接,很多新手装好之后发现本机可以连、跨机连不上,基本都是防火墙和安全组挡着。

RHEL系默认用firewalld,放行方式如下:

firewall-cmd --permanent --add-port=23/tcp firewall-cmd --reload

如果用iptables管理,加一条规则即可:

iptables -A INPUT -p tcp --dport 23 -j ACCEPT

Ubuntu/Debian系经常用ufw:

ufw allow 23/tcp

这里有个细节我想提醒一下:这台机器如果跑在云平台上,云安全组的入方向规则也要放行TCP 23端口。本地防火墙、云安全组、系统服务三层都要通,任何一层卡住都会表现为“连不上”。

4. 服务连接与登录验证

4.1 本机验证连接

配置完成,先在本机验证telnet服务端是否正常。本机验证可以排除防火墙干扰:

telnet 127.0.0.1 23

如果一切正常,会看到Trying 127.0.0.1...然后进入登录界面,看到“login:”提示符,输入一个系统里存在的账号和密码。如果出现下面这种提示,说明服务没起成功:

telnet: connect to address 127.0.0.1: Connection refused

本地都连不上,先别急着看防火墙,回查服务配置和监听状态。

4.2 跨机器远程连接

本机验证通过后,从另一台机器发起连接:

telnet 192.168.1.10 23

如果看到login提示符,说明跨机器链路已经通了。这里要注意:主机名解析、路由、防火墙都会影响连接,所以建议先直接用IP测试,避免DNS问题干扰判断。

4.3 登录失败的关键点

登录telnet服务时,最常见的问题就是账号密码明明正确,却提示Login incorrect。这种情况十有八九是PAM配置拦了路。

绝大多Linux发行版的telnetd在登录时会调用PAM认证,而有的系统默认策略会禁止root通过telnet登录,或者要求用户必须属于特定组。如果你想允许root登录(通常只在隔离测试环境中这么干,生产环境不推荐),需要改配置:

在 /etc/pam.d/remote 或 /etc/pam.d/login 文件中,找到类似下面这行注释掉或配置相应策略:

auth required pam_securetty.so

pam_securetty.so模块的作用是仅允许root在/etc/securetty列出的终端上登录,默认列出的tty里通常没有telnet对应的虚拟终端。我当时的做法是:如果非要用root登录,先查看/etc/securetty是否配置了pts/0或直接注释掉这行PAM检查。再次强调,这只是测试环境的临时做法,生产环境绝不能让root直接用明文协议登录。

还有一个容易踩的坑:telnet服务使用系统账号认证,那么用户必须拥有有效的shell,比如/bin/bash。如果账号的shell被改成了/sbin/nologin或/bin/false,即便密码正确也会被拒绝。可以用这个命令检查:

grep ^用户名 /etc/passwd

4.4 并发连接与超时限制

xinetd托管的telnet服务,并发连接数默认有限制。如果你遇到超过一定数量后无法连接的情况,可以调整/etc/xinetd.conf的instances参数,或者直接在xinetd.d/telnet里加一行:

instances = 50

表示允许同时最多50个telnet连接。调整后重启xinetd生效。当然,这只是并发限制,每个连接长时间挂着也会占用文件句柄和进程资源,onw参数可以设置空闲超时,比如:

onw = 300

空闲超过300秒会断开连接,这个配置在测试环境非常实用,防止有人连续开着终端浪费资源。

5. 端口连通性测试的高阶用法

5.1 测试常用服务端口

telnet客户端最实用的场景其实就是端口连通性测试。我平时排查架构里各组件之间网络通不通,第一反应就是用telnet去连对方的端口,判断是网络问题还是服务问题。

例如测试Web服务80端口:

telnet 192.168.1.20 80

连接成功后,直接输入:

GET / HTTP/1.1 Host: 192.168.1.20

按两次回车,如果对方返回HTTP协议头,说明Web服务网络层面是通的。想测试HTTPS的443端口也可以,连接后敲一行:

HEAD / HTTP/1.1

然后观察返回结果即可判断TLS端口是否可达。

测试数据库端口也很典型,比如MySQL的3306、Redis的6379、PostgreSQL的5432:

telnet 192.168.1.30 3306

如果端口通,MySQL通常会返回一个带特殊字符和版本信息的二进制头部,Redis则会返回一个错误提示,因为这些服务不会像telnet一样先把login界面给你。你不需要看懂全部内容,只要连接没有被拒绝、没有超时,就说明端口可达。

5.2 测试端口的返回码解读

用telnet测试端口,结果无外乎三种:

现象含义处置方向
Connection refused目标机器回包拒绝,通常服务没监听或防火墙DROP后重置检查服务状态、监听端口
连接超时网络路由不可达、云安全组或iptables直接DROP检查路由、防火墙策略、安全组
进入协议交互端口可达,服务正常响应进一步检查协议层问题

这个表是我建议新手收藏的,因为很多人看到Connection refused就以为是防火墙问题,实际上一半情况是服务根本没起来。

5.3 用telnet测试UDP端口行不行

这里提前打个预防针:telnet只能测试TCP端口。UDP协议没有连接概念,telnet不支持也不应该用来测UDP。检测UDP端口连通性需要另外找工具,比如nc(netcat)的 -u 参数:

nc -uvz 192.168.1.40 161

所以工作中注意分辨,别把telnet硬套在UDP场景。

6. 常见问题与排障实录

6.1 服务端已装好但端口未监听

这是最高频的问题,表现为ss -lntp看不到23端口。排查思路按顺序执行:

先确认xinetd或inetd服务有没有启动:

systemctl status xinetd systemctl status openbsd-inetd

没在运行就启动,并确认enable。然后在确认配置文件里disable=no有没有配错。有个细节值得注意:在RHEL系安装时如果只装了telnet-server而不装xinetd,你会发现ss里永远不会有23端口,因为telnet-server依赖xinetd来监听和转发,它本身不直接监听端口。这种情况不是服务坏了,是缺了托管进程。

6.2 本机连接正常但跨机器连不通

本机能连说明服务端没问题,问题出在网络链路上。从头到尾检查三层:

第一层,目标机器自身防火墙,确认firewalld/ufw放行23端口;第二层,云平台安全组或机房防火墙策略,确认入方向TCP 23端口已放行;第三层,中间是否有网络ACL、网关策略限制。从源机器执行命令验证:

ping 目标IP

如果ping通但telnet连不上,多半就是端口放行问题。还有一种不起眼但真遇到过的情况:源机器和目标机器在同一内网不同网段,中间路由设备的入方向策略把23端口挡了,这种需要网络管理员配合调整ACL。

6.3 登录提示Login incorrect但密码确实正确

这种情况非常迷惑人。先检查 /var/log/secure 日志(RHEL系)或 /var/log/auth.log(Debian系),找到对应时间戳的认证失败记录。

我遇到过几次,因素各不相同:用户的shell不可用是一个原因;/etc/pam.d/remote的PAM策略禁止了某个用户组是第二个原因;还有一种是root的securetty限制,也就是前面讲的pam_securetty模块问题。最稳的临时排障办法是新建一个普通用户来测试登录:

useradd testlogin passwd testlogin

如果普通用户可以登录,说明系统账号策略问题;如果普通用户也登不进去,则大概率是PAM公共配置里某个模块拦截了。

6.4 连接被断开或瞬间退出

登录成功后立刻被踢出,这种情况往往跟limits或SELinux有关。排障优先看审计日志,RHEL系执行:

ausearch -m AVC -ts recent | grep telnet

如果看到SELinux拒绝记录,尝试给telnet服务开启对应布尔值:

setsebool -P telnet_connect_all 1

这个布尔值在部分版本上存在,如果提示不存在,用getsebool -a | grep telnet查看当前系统支持的布尔值列表,然后针对性调整。如果不想深究SELinux策略,临时调成permissive模式可以验证:

setenforce 0

但记住这只是验证手段,验证完要马上改回来。

7. 安全加固与生产环境建议

7.1 为什么生产环境不建议用telnet

回到这个老生常谈的问题。telnet协议明文传输,账号密码、命令输出、中间数据全程可被截获。在内网做测试没关系,但放到生产环境、公网环境,就等于把密码用明信片寄出去。所有做过网络抓包的人都懂,telnet会话里的每一个字节都能直接看到。

如果你的环境必须提供telnet服务,有几个底线建议:限制来源IP,只允许特定管理网段访问;不允许root直接登录telnet;配合防火墙做最小化授权;开启完整日志记录;强烈建议只在隔离网段或者临时使用时开启,用完后立刻关闭服务。

7.2 更安全的替代方案

日常运维中,远程登录一律用SSH(Secure Shell),数据加密传输,这是底线要求。如果只是为了端口连通性测试,除了telnet,还可以备选nc和nmap:

nc -vz 192.168.1.50 3306 nmap -p 3306 192.168.1.50

两个工具都能完成端口探测,其中nc可以快速判断TCP端口通断,nmap还能识别服务版本。如果在某台机器上只装了nc没有telnet,用nc替代测试完全没有问题。

7.3 加固已验证的访问策略

如果测试环境确实需要长期开着telnet服务,我建议至少做这几件事:第一,把默认的23端口迁移到高位端口,比如2323,通过xinetd的port配置实现,减少被扫描命中的概率;第二,在防火墙层写上源IP白名单,其他地址一律DROP;第三,建立telnet专用账号并限制其权限,不要给运维管理员级别的系统账号直接使用明文协议登录的权限;第四,记录好审计日志,定期检查/var/log/secure或auth.log里的登录记录。

8. 从零到可用的完整流程速查

这里把整个流程整理成一份速查清单,我每执行一次就会对照一遍,省时有条理。

步骤操作验证方式
1. 安装服务端和客户端dnf install -y telnet-server telnet xinetdrpm -qa
2. 配置xinetd编辑/etc/xinetd.d/telnet,disable=nocat 配置内容核对
3. 启动服务systemctl restart xinetdss -lntp
4. 防火墙放行firewall-cmd 添加23端口并reloadfirewall-cmd --list-all
5. 本机验证telnet 127.0.0.1 23进入login界面
6. 远程验证telnet 目标IP 23进入login界面
7. 检查登录系统账号尝试登录正常进入shell

这个表格适合新环境交付时拿来一条条对照,避免漏步骤。实际工作中我通常把1到4合并执行,然后直接跳到第6步做远程验证,有问题才回到前面逐步排查。

我个人的习惯是,每次在测试机配完telnet服务之后,顺手在客户端执行一遍telnet测试目标端口,把结果记录下来放进交付文档。这样做的好处是,后续别人排查问题时能快速判断当时网络基线状态,知道哪一段是通的、哪一段是后来断的。

写了这么多,其实核心就一句话:telnet安装本身不难,难的是理解它什么时候该用、什么时候坚决不用,以及出了问题怎么快速定位。如果你只是需要端口连通性测试,装个客户端就够;如果你需要完整的远程登录服务,装好服务端的同时一定要把防火墙、SELinux、PAM策略全部走一遍,才能确保从任意客户端都能顺利登入。希望这篇内容能帮读者把安装和排障的路走直一些。

相关新闻

Axure中继器实战:打造可增删改查的图片列表布局

Axure中继器实战:打造可增删改查的图片列表布局

1. 为什么我在原型里坚持做"能改数据的图片列表"——背景与痛点 先说个真实场景。前阵子帮某公司做一个后台管理系统的原型,其中一个页面是"素材库",要求展示一批图片,每张图带标题、标签、上传日期,还要能删…

2026/10/20 15:14:59 阅读更多 →
基于BP神经网络的车牌识别系统:Matlab实现与图像处理全解析

基于BP神经网络的车牌识别系统:Matlab实现与图像处理全解析

车牌识别一直是数字图像处理和模式识别课程里非常经典的综合性案例。一个完整的车牌识别系统,从图像中定位车牌、切分字符再到识别字符,每一步都对应着图像预处理、特征工程和分类器设计中的核心知识点。这套基于BP神经网络的车牌识别系统,配…

2026/10/20 15:14:59 阅读更多 →
高职生数据分析实战路线:从SQL到Python四件套,三年冲刺就业

高职生数据分析实战路线:从SQL到Python四件套,三年冲刺就业

最近一位高职大数据技术专业的大三学弟让我帮忙改简历,聊起这两年的学习状态,他说了句特别真实的话——课表上排满了Java、Python、Linux、Hadoop、Spark,感觉什么都学了,但面试官问他“你能不能写一条SQL,把最近30天有…

2026/10/20 15:13:58 阅读更多 →

最新新闻

Claude Code实战:宠物健康管理系统全栈开发复盘

Claude Code实战:宠物健康管理系统全栈开发复盘

1. 项目概述:这不是一个“AI写代码”的演示,而是一次真实产品级开发的完整复盘“Claude Code从零搭建新项目全流程AI实现-宠物生命周期管理App”——这个标题里藏着三个关键信息点:Claude Code是核心工具链,从零搭建强调过程完整性…

2026/10/20 18:30:19 阅读更多 →
DeepSeek本地部署避坑指南:Ollama安装与模型尺寸选择

DeepSeek本地部署避坑指南:Ollama安装与模型尺寸选择

简介:这份PDF资料面向对大模型感兴趣的技术爱好者与研发人员,聚焦DeepSeek在本地环境下的部署方法与核心训练原理,帮助读者以低成本方式搭建可离线运行的大模型应用。内容从本地部署的三个实操步骤切入,逐步延伸至LLM基础概念、Tr…

2026/10/20 18:30:19 阅读更多 →
AI培训不是一门课,而是四条职业轨道的选择题

AI培训不是一门课,而是四条职业轨道的选择题

1. 别急着报班:先拆解“AI培训”这个词到底在指什么很多人点开“AI培训”广告时,脑子里浮现的是同一个画面:一个穿格子衬衫的年轻人,在黑底白字的终端前敲出一行python train.py --modelllm,然后模型精度飙升、工资翻倍…

2026/10/20 18:30:19 阅读更多 →
多模态SCA与全周期协同:中间件开源风险治理实践解析

多模态SCA与全周期协同:中间件开源风险治理实践解析

最近行业中公布了一轮开源安全与风险治理优秀案例评选,某AI安全公司基于“多模态SCA全周期协同”的中间件开源风险治理实践,成功入选了“开源安全及风险治理”类别的典型案例。这不算一个堆了一堆安全工具的“面子工程”,而是把软件成分分析&…

2026/10/20 18:30:19 阅读更多 →
Java实现节假日/周末/工作日全量落库方案

Java实现节假日/周末/工作日全量落库方案

简介:本资源是一份面向Java后端开发者与数据库应用学习者的实用工具型代码包,解决企业级排班系统、考勤管理或日历服务中需动态生成并持久化年度工作日/周末/节假日数据的核心需求。压缩包为7z格式,仅含1个核心Java源文件(SaveYea…

2026/10/20 18:30:19 阅读更多 →
微信小程序小闹钟:状态机设计与本地定时实战指南

微信小程序小闹钟:状态机设计与本地定时实战指南

简介:这是一份面向微信小程序初学者的练手项目资源,聚焦基础功能开发实践,特别适合刚掌握WXML/WXSS/JS三件套、希望通过完整小应用巩固开发流程的学习者。项目实现了一个具备时间设置、闹铃触发、界面交互与音效反馈的小闹钟功能,…

2026/10/20 18:29:17 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →