SSH公钥认证失败排查指南:从权限配置到服务端调试
1. 问题引入为什么配置了公钥SSH登录还要我输密码这个问题估计不少刚接触Linux服务器管理或者Git远程操作的朋友都遇到过。你信心满满地按照教程生成了RSA或者Ed25519密钥对把公钥id_rsa.pub的内容小心翼翼地追加到了远程服务器的~/.ssh/authorized_keys文件里心里想着“这下可以无密码畅行无阻了”。结果在终端里敲下ssh userremote_host回车之后熟悉的密码提示符userremote_host‘s password:又跳了出来那一刻的挫败感我懂。这绝不仅仅是一个“配置没生效”的小问题。它像一扇门背后连接着SSH协议认证的完整流程、Linux系统的权限哲学、以及安全策略的层层设防。表面上是“要密码”根子上可能是密钥文件权限太开放、可能是authorized_keys文件格式有误、也可能是SSH服务端一个不起眼的配置项在“作祟”。今天我们就来把这个问题彻底拆解从登录请求发出到服务端最终放行一步步排查让你不仅解决眼前的问题更能透彻理解SSH公钥认证的每一个环节。无论你是运维工程师、开发者还是任何需要频繁通过SSH连接远程主机的用户这篇深度解析都能让你下次遇到类似问题时心中有谱手到病除。2. SSH公钥认证全流程与问题定位框架要解决问题必须先理解流程。SSH公钥认证不是一个简单的“有密钥就过”的开关而是一套严谨的握手协议。当你在客户端执行ssh命令时背后发生了一系列对话。2.1 认证流程核心六步连接建立客户端向服务端的22端口默认发起TCP连接双方协商SSH协议版本、支持的加密算法等。密钥交换双方使用Diffie-Hellman算法动态生成一个会话密钥用于加密后续所有通信。这一步保证了即使你的长期私钥泄露单次会话也不会被解密。客户端声明意图客户端向服务器发送一个请求说“我打算使用publickey方法进行认证。”挑战生成服务器检查对应用户的~/.ssh/authorized_keys文件。如果找到了客户端声称的公钥服务器会生成一个随机字符串挑战并用该公钥加密然后发送给客户端。挑战应答客户端收到加密的挑战后使用本地对应的私钥进行解密得到原始随机字符串再将其与当前会话ID合并计算一个数字签名Signature然后将这个签名发回服务器。验证与放行服务器使用存储在authorized_keys中的公钥对收到的签名进行验证。如果验证通过说明客户端确实持有对应的私钥认证成功。否则服务器会尝试其他认证方法如密码或者直接拒绝。整个流程的任何一个环节出错都会导致公钥认证失败从而回退到密码认证。我们的排查就是沿着这条链路逐一检查可能存在的断点。2.2 系统性排查思路面对“仍需密码”的问题切忌无头苍蝇式地乱试。遵循一个从简到繁、从客户端到服务端的系统路径效率最高客户端初步检查首先确认你正在使用的私钥是否是你以为的那一个以及SSH命令是否指定了正确的私钥路径。服务端文件与权限检查这是最高发的故障点。重点检查~/.ssh目录、authorized_keys文件以及它们父目录的权限。服务端SSH配置检查检查sshd_config中是否关闭了公钥认证或者对认证路径进行了限制。深度日志分析当以上步骤无效时启用SSH服务端的详细日志从系统的视角看认证失败的具体原因。环境与上下文排查考虑SELinux、AppArmor等安全模块以及authorized_keys命令格式等边缘情况。接下来我们就按照这个思路深入每一个环节。3. 客户端侧你的SSH命令用对私钥了吗很多时候问题出在起点客户端根本没有使用你配置好的密钥对去尝试认证。3.1 确认私钥路径与SSH Agent默认情况下ssh命令会依次尝试使用~/.ssh/id_rsa,~/.ssh/id_ecdsa,~/.ssh/id_ed25519等默认名称的私钥。如果你的私钥文件名不是这些例如my_key或者不在默认目录你需要通过-i选项显式指定。# 指定私钥文件进行连接 ssh -i /path/to/your/private_key userremote_host一个常见的“坑”是使用了SSH Agent密钥代理但所需的私钥没有被添加进去。你可以通过以下命令管理Agent# 启动ssh-agent并设置环境变量通常已在shell配置中 eval “$(ssh-agent -s)” # 将私钥添加到agent ssh-add ~/.ssh/your_private_key # 列出当前agent中已加载的密钥 ssh-add -l注意如果私钥有密码ssh-add时会提示输入一次之后在该Agent会话期内就不再需要了。如果你添加了密钥但连接仍需密码可能是Agent环境变量没有正确传递到当前shell会话。3.2 使用-v参数进行连接调试这是客户端排查的利器。在ssh命令后添加一个或多个-vverbose参数可以打印出详细的调试信息。ssh -vvv userremote_host在输出信息中重点关注以下几行debug1: Offering public key: /home/you/.ssh/id_rsa RSA SHA256:xxx ... explicit debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,password debug3: start over, passed a different list publickey,password debug3: method publickey debug1: Trying private key: /home/you/.ssh/id_rsa debug3: sign_and_send_pubkey: RSA SHA256:xxx debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,passwordOffering public key这表示客户端正在尝试使用某个公钥。如果没有看到这一行说明客户端根本没找到或没打算使用你的私钥。Authentications that can continue: publickey,password这表示服务器告知客户端它接受公钥和密码两种认证方式。如果这里只有password那说明服务器端公钥认证可能被关闭了见后文。在“发送公钥包”之后如果紧接着又出现了Trying private key并且再次列出可继续的认证方式包含password这通常意味着服务器拒绝了客户端的公钥认证尝试。问题很可能出在服务器端。4. 服务器侧文件权限与配置的“魔鬼细节”当客户端确认已发出正确的公钥后服务器端就成了排查的重点。这里面的门道几乎都围绕着“权限”二字。4.1 目录与文件权限检查重中之重SSH协议出于安全考虑对相关文件和目录的权限有极其严格的要求。权限太开放如777会被认为不安全而直接拒绝认证。必须检查的路径及推荐权限假设你的家目录是/home/your_username。用户家目录 (/home/your_username)权限要求所有者必须是该用户且组用户或其他用户不能有写权限w。通常755(drwxr-xr-x) 或750(drwxr-x---) 是安全的。检查与修复ls -ld /home/your_username # 如果权限不对修复谨慎操作确保不影响其他服务 chmod 755 /home/your_username # 或 750 # 确保所有者为该用户 chown your_username:your_username /home/your_username.ssh目录 (~/.ssh或/home/your_username/.ssh)权限要求必须是700(drwx------)。即只有所有者有全部权限。检查与修复ls -ld ~/.ssh chmod 700 ~/.ssh chown your_username:your_username ~/.sshauthorized_keys文件 (~/.ssh/authorized_keys)权限要求必须是600(-rw-------) 或更严格的644(-rw-r--r--)。绝对不能有组或其他用户的写权限。检查与修复ls -l ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys chown your_username:your_username ~/.ssh/authorized_keys实操心得我遇到过无数次问题就出在家目录权限是775组可写上。特别是在一些由自动化脚本或面板创建的用户环境中容易忽略这一点。一个快速的一键检查与修复脚本在服务器上执行如下# 请替换your_username为实际用户名并在执行前确认无误 USER“your_username” chmod 755 /home/$USER chown $USER:$USER /home/$USER chmod 700 /home/$USER/.ssh chown $USER:$USER /home/$USER/.ssh chmod 600 /home/$USER/.ssh/authorized_keys chown $USER:$USER /home/$USER/.ssh/authorized_keys4.2authorized_keys文件内容格式验证权限对了内容不对也不行。常见格式问题包括多余的空格或换行公钥内容通常是一整行。如果在复制粘贴时不小心加入了换行变成了两行那么第二行之后的所有密钥都会失效。确保每个公钥是独立的一行。缺少开头的密钥类型一个完整的公钥条目类似ssh-rsa AAAAB3NzaC1yc2E... comment。如果你只粘贴了AAAAB3NzaC1yc2E...这部分缺少ssh-rsa或ssh-ed25519等前缀认证也会失败。命令或选项格式错误如果你在authorized_keys中使用了高级功能如command“...”或from“...”等选项其语法非常严格。一个错误的逗号或引号都可能导致整行被忽略。你可以使用ssh-keygen工具来检查authorized_keys文件的格式ssh-keygen -l -f ~/.ssh/authorized_keys这条命令会列出文件中所有有效的公钥指纹。如果某一行格式错误它会被跳过且不会显示。如果该命令报错或无输出说明文件格式可能有问题。5. 服务器SSH服务配置深度排查如果文件和权限都无误那么就需要审视SSH服务端sshd的配置了。配置文件通常位于/etc/ssh/sshd_config。5.1 关键配置项解析修改前请务必备份原配置文件。修改后需要使用sudo systemctl reload sshd或sudo service sshd reload来重新加载配置不是restart避免断开现有连接。PubkeyAuthentication这个选项控制是否允许公钥认证。必须设置为yes。sudo grep -i PubkeyAuthentication /etc/ssh/sshd_config # 确保输出是 PubkeyAuthentication yesAuthorizedKeysFile此选项指定sshd去哪里寻找公钥文件。默认值是.ssh/authorized_keys .ssh/authorized_keys2表示依次在用户家目录下的.ssh/中寻找这两个文件。除非有特殊需求否则不要修改此配置。如果被修改了请确保你的公钥文件放在了它指定的路径。PasswordAuthentication这个选项控制是否允许密码认证。为了安全我们通常在配置好公钥后会将其设为no。但在排查问题时可以暂时保持为yes否则一旦公钥认证失败连接会直接拒绝不利于调试。PermitRootLogin如果你是以root用户登录需要检查此项。通常建议设置为prohibit-password或without-password这表示允许root登录但禁止使用密码即只允许公钥登录。如果此项设置为no则root用户完全无法通过SSH登录。AllowUsers或AllowGroups这些是访问控制列表。如果你的用户名不在AllowUsers列表中或者所属用户组不在AllowGroups列表中那么在认证阶段之前就会被拒绝你甚至看不到密码提示符。检查你的用户名是否被允许sudo grep AllowUsers /etc/ssh/sshd_config sudo grep AllowGroups /etc/ssh/sshd_config5.2 启用服务端详细日志当所有明显配置都检查无误后问题可能隐藏得更深。此时需要请出终极武器SSH服务端详细日志。临时提高日志级别编辑/etc/ssh/sshd_config找到或添加以下行LogLevel DEBUG3DEBUG3是最高级别的调试信息会输出认证过程的每一个细节。注意这会产生大量日志仅用于调试完成后务必改回INFO或VERBOSE。重新加载配置并跟踪日志sudo systemctl reload sshd # 然后实时查看系统日志日志路径因系统而异 # 对于使用systemd的现代Linux如Ubuntu, CentOS 7 sudo journalctl -fu ssh # 对于使用syslog的旧系统查看 /var/log/auth.log 或 /var/log/secure sudo tail -f /var/log/auth.log从客户端发起一次连接尝试。在服务端的日志中你会看到类似下面的信息... sshd[pid]: debug1: trying public key file /home/your_username/.ssh/authorized_keys ... sshd[pid]: debug1: fd 4 clearing O_NONBLOCK ... sshd[pid]: debug1: matching key found: file /home/your_username/.ssh/authorized_keys, line 1 RSA SHA256:xxx ... sshd[pid]: debug1: restore_uid: 0/0 ... sshd[pid]: Failed publickey for your_username from client_ip port 12345 ssh2: RSA SHA256:xxx关键看matching key found之后发生了什么。如果直接是Failed publickey后面可能跟着原因比如“key is not allowed”密钥未被允许、“user not allowed”用户不允许或者没有明显原因。没有明显原因时很可能是权限问题即使你之前检查过也要再确认一遍日志中读取的文件路径和uid/gid或者SELinux/AppArmor拦截。6. 高级疑难杂症与特定环境排查经过以上四步90%的问题都能解决。如果仍未解决请考虑以下“深水区”问题。6.1 SELinux 或 AppArmor 安全模块拦截在一些强制启用安全模块的系统如CentOS/RHEL系列默认开启SELinux某些Ubuntu配置开启AppArmor上即使权限正确安全策略也可能阻止sshd进程读取你的authorized_keys文件。检查SELinux# 查看SELinux状态 getenforce # 如果状态是Enforcing尝试暂时设置为Permissive模式重启后失效 sudo setenforce 0设置成Permissive后再次尝试SSH连接。如果成功了说明是SELinux策略问题。你需要为authorized_keys文件添加正确的安全上下文或者调整sshd的布尔值。# 恢复SELinux为强制模式 sudo setenforce 1 # 修复.ssh目录的上下文 sudo restorecon -Rv ~/.ssh检查AppArmor# 查看AppArmor状态 sudo aa-status # 查看是否有与ssh相关的profile在enforce模式可以尝试临时禁用某个profile来测试。6.2 家目录挂载点或NFS问题如果你的家目录是通过NFS网络文件系统挂载的或者是一个特殊的挂载点如/home是独立分区可能会遇到权限或文件属性同步的问题。确保NFS服务器端导出的设置允许客户端以正确的用户身份访问文件。在客户端检查挂载选项是否包含了正确的uid,gid,file_mode,dir_mode等。6.3authorized_keys文件命令或选项冲突如前所述你可以在authorized_keys文件的一行公钥前添加选项例如command“/bin/my-script”,from“192.168.1.0/24” ssh-rsa AAAA...这行配置的意思是只有从指定IP段连接并使用此密钥认证时服务器不会启动默认的shell而是强制执行/bin/my-script这个命令。如果你在配置Git服务器或做自动化时不小心加上了command选项那么登录后就会直接执行那个命令然后退出而不是给你一个交互式shell这可能会被误认为是认证失败。检查你的authorized_keys文件确保没有你不理解的选项。6.4 多用户、多密钥环境混淆在开发环境中你可能在本地为同一个远程服务器生成了多个密钥对例如一个用于个人一个用于某个项目。如果你将错误的公钥放到了服务器上或者服务器上的authorized_keys文件包含了多个密钥但你的客户端默认使用了另一个私钥就会导致不匹配。确保你ssh-add -l列出的密钥指纹与服务器上ssh-keygen -l -f .ssh/authorized_keys列出的对应条目指纹一致。7. 一站式问题排查清单与命令速查为了便于实战我将上述所有步骤浓缩为一张排查清单和命令速查表。当你再遇到这个问题时可以按顺序快速执行。SSH公钥认证失败排查清单步骤检查点关键命令/操作预期结果/修复1. 客户端验证私钥是否被使用ssh -vvv userhost查看输出中是否有Offering public key。若无用-i指定密钥。SSH Agent状态ssh-add -l确认所需私钥已列出。若未添加使用ssh-add /path/to/key。2. 服务端权限家目录权限ls -ld ~应为755或750组和其他人无写权限(w)。chmod 755 ~.ssh目录权限ls -ld ~/.ssh必须为700。chmod 700 ~/.sshauthorized_keys权限ls -l ~/.ssh/authorized_keys必须为600。chmod 600 ~/.ssh/authorized_keys文件所有者ls -ld ~ ~/.ssh ~/.ssh/authorized_keys所有者和组都应为该用户。chown user:user path3. 服务端配置公钥认证开关sudo grep PubkeyAuthentication /etc/ssh/sshd_config应为PubkeyAuthentication yes密钥文件路径sudo grep AuthorizedKeysFile /etc/ssh/sshd_config通常为默认值确认文件在该路径下。用户访问控制sudo grep -E “AllowUsersAllowGroups” /etc/ssh/sshd_config4. 内容与格式authorized_keys格式ssh-keygen -l -f ~/.ssh/authorized_keys应能列出所有密钥指纹无错误。检查文件是否为单行且格式正确。5. 深度调试服务端日志1. 设置LogLevel DEBUG32.sudo systemctl reload sshd3.sudo journalctl -fu ssh观察连接时的详细日志寻找Failed publickey后的具体原因。6. 高级排查SELinux/AppArmorgetenforce/sudo aa-status尝试临时禁用或调整策略检查是否因此被拦截。文件系统/NFSmountgrep home / NFS配置按照这个清单从第一步开始大部分问题都能在几分钟内定位。记住SSH是一个极其注重安全的协议它的“挑剔”正是其可靠性的体现。每一次对这类问题的深入排查都是对Linux系统安全和权限模型的一次绝佳学习。

相关新闻

解决ssh-keygen命令找不到问题:OpenSSH安装与配置全指南

解决ssh-keygen命令找不到问题:OpenSSH安装与配置全指南

1. 问题场景:当你在终端敲下 ssh-keygen 时 如果你刚开始接触 Git,或者刚换了一台新电脑准备配置开发环境,那么你很可能在某个教程的指引下,打开终端,准备生成一对 SSH 密钥。你满怀信心地输入了那条看似简单的命令…

2026/8/15 7:24:43 阅读更多 →
Unity新手一个月开发回合制肉鸽地牢游戏:从零到可玩的核心实践

Unity新手一个月开发回合制肉鸽地牢游戏:从零到可玩的核心实践

第一次打开 Unity 编辑器,面对那个默认的蓝色天空盒和孤零零的方块,我有点懵。教程里说“拖拽就能做游戏”,但真到了自己动手,连怎么让一个方块动起来都找不到头绪。一个月前,我就是这样一个零基础的状态,计…

2026/8/15 7:23:43 阅读更多 →
Linux SSH密钥认证实战:XShell/XFTP免密登录配置与安全优化

Linux SSH密钥认证实战:XShell/XFTP免密登录配置与安全优化

1. 项目概述:告别密码,拥抱安全与效率每次登录远程服务器都要输入一长串密码,是不是觉得既麻烦又不安全?尤其是在需要频繁操作、批量管理多台服务器,或者使用自动化脚本的场景下,密码登录的弊端就更加明显了…

2026/8/15 7:23:43 阅读更多 →

最新新闻

下一代AI智能体架构解析:从概念到工程实践

下一代AI智能体架构解析:从概念到工程实践

如果你最近关注AI领域,特别是智能体(AI Agent)的发展,可能会发现一个现象: 大模型的能力越来越强,但让它们真正“干活”——比如自动处理一个复杂任务、协调多个工具、在真实业务场景中稳定运行——依然困…

2026/8/15 8:15:00 阅读更多 →
JVM内存模型、垃圾回收与类加载机制全解析

JVM内存模型、垃圾回收与类加载机制全解析

1. 项目概述:为什么我们需要一张JVM的“地图”? 干了这么多年Java开发,我越来越觉得,JVM(Java虚拟机)就像是你每天开车上下班必经的那条路。你可能开了好几年,知道哪个路口容易堵,哪…

2026/8/15 8:15:00 阅读更多 →
基于QEMU模拟器学习嵌入式Linux驱动开发:从环境搭建到实战调试

基于QEMU模拟器学习嵌入式Linux驱动开发:从环境搭建到实战调试

1. 项目概述:打破硬件依赖的驱动学习新范式 “学习嵌入式Linux驱动开发必须要有开发板吗?”这个问题,几乎困扰过每一个刚踏入这个领域的工程师。传统的学习路径,总是将我们引向购买一块价格不菲的开发板,然后经历焊接、…

2026/8/15 8:15:00 阅读更多 →
H12Y+遥控车系统化改装指南:从基础强化到性能进阶

H12Y+遥控车系统化改装指南:从基础强化到性能进阶

最近在折腾一台 H12Y 遥控车,刚给它换上了金属护甲、舵机臂和拉杆,整车的刚性和转向响应立刻提升了一个档次。看着手里剩下的预算和零件,一个经典的问题又冒出来了: “下一步该改什么?” 对于刚入坑RC(遥…

2026/8/15 8:15:00 阅读更多 →
如何在 macOS 上免费实现歌词同步:LyricsX 终极使用指南

如何在 macOS 上免费实现歌词同步:LyricsX 终极使用指南

如何在 macOS 上免费实现歌词同步:LyricsX 终极使用指南 【免费下载链接】LyricsX 🎶 Ultimate lyrics app for macOS. 项目地址: https://gitcode.com/gh_mirrors/ly/LyricsX 你是否曾因为歌词总比歌声慢半拍而抓狂?是否为了找一首歌…

2026/8/15 8:15:00 阅读更多 →
微信红包助手完整指南:iOS 抢红包插件从安装到设置的快速上手教程

微信红包助手完整指南:iOS 抢红包插件从安装到设置的快速上手教程

微信红包助手完整指南:iOS 抢红包插件从安装到设置的快速上手教程 【免费下载链接】WeChatRedEnvelopesHelper iOS版微信抢红包插件,支持后台抢红包 项目地址: https://gitcode.com/gh_mirrors/we/WeChatRedEnvelopesHelper 微信红包助手(WeChatR…

2026/8/15 8:13:59 阅读更多 →

日新闻

内景 空间站内部 中国空间站 太空 内仓

内景 空间站内部 中国空间站 太空 内仓

本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 空间站内部 中国空间站 太空 内仓 地址:本地PC端运行(或Web…

2026/8/15 0:00:30 阅读更多 →
重新定义数据接口:3个突破性场景让通达信数据读取更智能

重新定义数据接口:3个突破性场景让通达信数据读取更智能

重新定义数据接口:3个突破性场景让通达信数据读取更智能 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 当我们面对海量金融数据时,传统的数据获取方式往往让我们陷入困境—…

2026/8/15 0:00:30 阅读更多 →
一文读懂快消WMS怎么选?2026年国内外10大主流WMS品牌盘点

一文读懂快消WMS怎么选?2026年国内外10大主流WMS品牌盘点

快消品(FMCG)是流通速度较快、竞争较为激烈的行业之一。一瓶饮料从出厂到消费者手中,往往只有几十天甚至几天的周转窗口。这决定了快消行业的仓储管理系统(WMS)与制造业、电商行业存在明显区别:它不仅需要管…

2026/8/15 0:02:30 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/13 10:41:52 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/13 10:41:51 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/14 13:40:53 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/14 14:06:45 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/15 2:35:29 阅读更多 →