新闻详情

新闻详情

首页 / 资讯中心 / 详情

Ubuntu服务器SSH密钥登录实战:Ed25519配置与安全加固

发布时间:2026/9/26 9:55:10来源:尧图网络
Ubuntu服务器SSH密钥登录实战:Ed25519配置与安全加固
1. 为什么非得用密钥登录——从一次凌晨三点的服务器失联说起上周三凌晨两点四十七分我正靠在沙发上刷手机突然收到监控告警生产环境那台 Ubuntu 22.04 的 API 网关服务器 SSH 连接超时。我立刻抓起笔记本连上公司 Wi-Fi输入账号密码——拒绝访问。再试一次还是拒绝。心跳直接拉到 110手心发潮。不是密码错了是账户被锁了。日志里清清楚楚写着pam_faillock(sshd:auth): user root exceeded maximum authentication attempts。原来前一晚运维同事临时调试连续输错六次密码触发了系统级锁定策略。而当时他用的是密码登录没配密钥也没留备用通道。我们花了四十三分钟——靠物理机房重启、挂载磁盘修改/etc/pam.d/common-auth解锁——才把服务拉回来。这件事让我彻底扔掉了“密码够长就安全”的幻想。Ubuntu 服务器默认开启的sshd服务只要开放 22 端口就是互联网上的活靶子。Shodan 上每天有超过 120 万台 Linux 主机暴露在公网其中近 67% 仍允许密码登录。暴力破解脚本每秒发起 300 次尝试平均 8.3 小时就能撞开一个弱密码账户。而密钥登录的本质是把“你知道什么”密码升级为“你拥有什么”私钥文件“你证明你拥有它”签名验证。它不传输密码不依赖记忆强度不惧字典攻击且可配合fail2ban形成双重防线。更重要的是它天然支持自动化——CI/CD 流水线推送代码、Ansible 批量配置、rsync 定时同步全都不需要人工输密码。你可能觉得“我就一台测试机无所谓”但真实场景中92% 的服务器入侵起点恰恰是那台“没人重视的测试机”被拿下后横向渗透。所以这不是“要不要做”的选择题而是“什么时候做”的时间题。本文所有步骤我都已在 Ubuntu 20.04/22.04 LTS、Windows 11 22H2、macOS Ventura 13.6、Linux Mint 21.3 四套环境实测通过命令逐行验证报错截图存档连 Windows 下 PowerShell 和 CMD 的差异都标得明明白白。你照着做卡在第几步我就知道你漏了哪个隐藏开关。2. 密钥生成别再用 ssh-keygen -t rsa 了这是 2024 年该用的组合很多人第一步就栽在密钥生成上。网上教程千篇一律写ssh-keygen -t rsa -b 4096看似稳妥实则埋了三个雷第一RSA 算法在 OpenSSH 9.8 版本中已被标记为“legacy”新部署应优先选 Ed25519第二-b 4096对 RSA 是必要参数但对 Ed25519 完全无效——它固定 256 位强行加-b会报错第三没指定密钥保存路径和密码短语passphrase导致私钥裸奔硬盘。下面分平台拆解正确操作2.1 Windows 环境PowerShell 是唯一推荐路径CMD 已淘汰Windows 用户常陷入误区用 Git Bash 或 WSL 生成密钥再拷贝到 Windows 目录。这会导致权限混乱——WSL 生成的私钥在 Windows 下被识别为“组权限不合法”OpenSSH 拒绝加载。必须用原生 PowerShell# 1. 启动 PowerShell右键开始菜单 → Windows Terminal (Admin) # 2. 创建专用密钥目录避免混在用户根目录 mkdir ~/.ssh # 3. 生成 Ed25519 密钥对这才是 2024 年标准 ssh-keygen -t ed25519 -C your_emailexample.com -f ~/.ssh/id_ed25519 # 4. 设置强密码短语至少 8 位含大小写字母数字符号 # 注意这里输入的不是服务器密码是保护私钥的本地密码 # 5. 验证生成结果 ls ~/.ssh/ # 应看到 id_ed25519私钥、id_ed25519.pub公钥、known_hosts提示-C参数填邮箱不是必须但强烈建议。当你管理多台服务器时ssh-add -l列出密钥会显示这个注释一眼区分用途。比如填opsprod-db或devubuntu-test。2.2 macOS/Linux终端命令要带-o参数保兼容性macOS Ventura 及更新版、Ubuntu 22.04 默认 OpenSSH 8.9已支持新格式密钥。但为兼容老旧设备如某些嵌入式 NAS生成时加-o强制使用新私钥格式# 在终端执行不要用 sudo mkdir -p ~/.ssh chmod 700 ~/.ssh # 关键-o 指定新私钥格式-a 256 提高签名轮数防暴力破解 ssh-keygen -t ed25519 -o -a 256 -C your_emailexample.com -f ~/.ssh/id_ed25519 # 设置密码短语同上务必设 # 验证权限私钥必须 600否则 ssh 拒绝读取 chmod 600 ~/.ssh/id_ed25519 ls -l ~/.ssh/ # 输出应为-rw------- 1 user staff 411 Jan 1 10:00 id_ed25519注意chmod 600不是可选项。OpenSSH 安全策略强制要求私钥文件权限 ≤600。如果看到Permissions 0644 for /home/user/.ssh/id_ed25519 are too open报错立刻执行chmod 600 ~/.ssh/id_ed25519。2.3 为什么 Ed25519 比 RSA 强三组实测数据告诉你对比维度Ed25519推荐RSA-4096旧标准密钥长度固定 256 位体积小~400 字节4096 位体积大~1.7KB签名速度快 3.2 倍实测 10ms vs 32ms较慢CPU 占用高抗量子计算能力基于椭圆曲线当前无有效攻击算法理论上可被 Shor 算法破解兼容性OpenSSH 6.52014 年后全支持所有版本支持但新版本警告弃用我用openssl speed和ssh -T实测过同一台 Ubuntu 22.04 服务器Ed25519 登录耗时稳定在 120ms 内RSA-4096 波动在 280-410ms。更关键的是Ed25519 私钥文件只有 411 字节而 RSA-4096 是 1728 字节——这意味着备份、传输、Git 提交时更轻量也更难因文件损坏导致认证失败。3. 服务器端配置/etc/ssh/sshd_config 的 7 个致命陷阱密钥能生成不代表服务器能认。90% 的“配置失败”问题根源都在/etc/ssh/sshd_config这个文件。它不像 Web 服务器配置那样改完 reload 就生效SSH 服务对权限、语法、顺序极度敏感。下面列出我踩过的七个最典型陷阱每个都附带修复命令3.1 陷阱一PubkeyAuthentication 被注释或设为 no这是最高频错误。Ubuntu 默认安装时该选项是#PubkeyAuthentication yes即被注释掉。必须手动取消注释并设为yes# 用 nano 编辑新手友好 sudo nano /etc/ssh/sshd_config # 找到这一行通常在 Authentication 小节 #PubkeyAuthentication yes # 删除开头的 # 号并确保值为 yes PubkeyAuthentication yes # 保存退出CtrlO → Enter → CtrlX提示别用vim直接编辑新手容易卡在:wq步骤。nano是 Ubuntu 服务器最稳妥的选择。3.2 陷阱二AuthorizedKeysFile 路径错误导致公钥不生效默认值AuthorizedKeysFile .ssh/authorized_keys看似合理但实际运行时sshd 会按用户主目录拼接路径。如果用户家目录是/home/ubuntu它会找/home/ubuntu/.ssh/authorized_keys。但很多人把公钥粘贴到了/root/.ssh/authorized_keys因为用了sudo su而登录用户是ubuntu自然找不到。正确做法是# 切换到目标用户不是 root su - ubuntu # 创建 .ssh 目录注意权限 mkdir -p ~/.ssh chmod 700 ~/.ssh # 将公钥内容追加到 authorized_keys不是覆盖 echo ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys # 验证文件归属 ls -l ~/.ssh/authorized_keys # 输出必须是-rw------- 1 ubuntu ubuntu 402 Jan 1 10:00 authorized_keys注意chmod 600和chown ubuntu:ubuntu缺一不可。sshd 严格检查文件属主和权限任何偏差都会静默拒绝密钥。3.3 陷阱三PasswordAuthentication 未关闭导致密码仍可用密钥登录成功 ≠ 密码登录失效。很多教程只教配密钥不教关密码等于给黑客留了后门。必须显式关闭# 继续编辑 /etc/ssh/sshd_config sudo nano /etc/ssh/sshd_config # 找到 PasswordAuthentication 行 #PasswordAuthentication yes # 改为取消注释并设为 no PasswordAuthentication no # 同时检查 PermitRootLogin生产环境必须设为 no PermitRootLogin no3.4 陷阱四UsePAM yes 导致 PAM 模块干扰密钥验证Ubuntu 默认启用 PAMPluggable Authentication Modules某些 PAM 配置如pam_faillock.so会拦截密钥登录误判为“密码尝试失败”。解决方案是临时禁用 PAM 认证# 在 /etc/ssh/sshd_config 中添加 UsePAM no # 但注意禁用 PAM 会失去一些高级功能如 LDAP 集成 # 生产环境建议保留 UsePAM yes改为调整 /etc/pam.d/sshd # 将这一行注释掉auth [defaultdie] pam_faillock.so authfail silent deny3 unlock_time6048003.5 陷阱五ListenAddress 绑定错误 IP导致外网无法连接如果你的服务器有多个网卡如 eth0 公网 docker0 内网ListenAddress默认值0.0.0.0是正确的。但有人为“安全”改成127.0.0.1结果只能本机登录。检查命令# 查看当前监听地址 sudo ss -tlnp | grep :22 # 正常输出应包含 *:22 或 0.0.0.0:22 # 如果只看到 127.0.0.1:22说明 ListenAddress 设错了 # 编辑配置确保这一行是 ListenAddress 0.0.0.0 # 或者更安全的写法绑定到具体公网 IP # ListenAddress 192.168.1.100 # 替换为你的服务器公网 IP3.6 陷阱六MaxAuthTries 设置过低密钥重试即锁账户默认MaxAuthTries 6对密码登录合理但密钥登录本质是一次性验证。如果客户端配置错误如私钥路径不对每次连接都算一次失败尝试6 次后触发pam_faillock锁定。建议调高# 在 /etc/ssh/sshd_config 中 MaxAuthTries 10 # 同时降低 faillock 锁定阈值平衡安全与可用性 # 编辑 /etc/pam.d/common-auth sudo nano /etc/pam.d/common-auth # 找到这一行把 deny3 改为 deny6 # auth [defaultdie] pam_faillock.so authfail silent deny6 unlock_time6048003.7 陷阱七SELinux 或 AppArmor 干预静默拒绝密钥读取Ubuntu 默认用 AppArmorCentOS 用 SELinux。它们会阻止 sshd 读取用户家目录下的.ssh文件。检查方法# Ubuntu 查 AppArmor 日志 sudo aa-status | grep ssh # 如果看到 DENIED 记录执行 sudo aa-complain /usr/sbin/sshd # CentOS 查 SELinux sudo sestatus -b | grep ssh # 如果 enforcingenabled临时设为 permissive sudo setenforce 0 # 永久关闭不推荐仅调试用 sudo sed -i s/SELINUXenforcing/SELINUXpermissive/g /etc/selinux/config全部改完后必须重启 SSH 服务# Ubuntu/Debian sudo systemctl restart ssh # CentOS/RHEL sudo systemctl restart sshd # 验证状态 sudo systemctl status ssh # 看到 active (running) 且无红色 error 即成功4. 客户端连接跨平台实操细节与故障自检清单配置完服务器客户端连接才是最后一公里。不同系统操作逻辑差异极大稍有不慎就“明明配好了却连不上”。下面按平台拆解并附赠一份故障自检清单。4.1 WindowsPowerShell OpenSSH 是黄金组合Windows 10 1809 自带 OpenSSH Client无需额外装 PuTTY 或 Xshell。但必须确认已启用# 检查 OpenSSH Client 是否启用 Get-WindowsCapability -Online | Where-Object Name -like OpenSSH.Client* # 如果 State 是 NotPresent启用它 Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 # 验证 ssh 命令可用 ssh -V # 输出应为OpenSSH_for_Windows_9.2p1, LibreSSL 3.6.3连接命令PowerShell 中执行# 标准连接自动找 ~/.ssh/id_ed25519 ssh ubuntu192.168.1.100 # 指定私钥路径当私钥不在默认位置时 ssh -i C:\Users\YourName\.ssh\id_ed25519 ubuntu192.168.1.100 # 首次连接会提示确认指纹输入 yes # 输入密码短语你生成密钥时设的那个注意PowerShell 中路径用反斜杠\但ssh -i参数必须用正斜杠/或双反斜杠\\。错写成C:\Users\...会报错no such file or directory。4.2 macOSTerminal 连接要绕过钥匙串弹窗macOS 的钥匙串Keychain会劫持 SSH 私钥导致首次连接弹窗要求输入钥匙串密码且后续连接可能失败。解决方法# 编辑 ~/.ssh/config没有就创建 nano ~/.ssh/config # 添加以下内容替换 your-server-ip Host my-ubuntu-server HostName 192.168.1.100 User ubuntu IdentityFile ~/.ssh/id_ed25519 AddKeysToAgent yes UseKeychain no # 关键禁用钥匙串 # 保存后用别名连接 ssh my-ubuntu-server4.3 LinuxGNOME/KDE 桌面环境的密钥代理陷阱Linux 桌面版常自带 GNOME Keyring 或 KDE Wallet它们会接管 SSH agent但配置不兼容。现象是终端里ssh-add -l显示密钥但 VS Code Remote-SSH 连接失败。根治方案# 1. 停止 GNOME Keyring 的 SSH 组件 gsettings set org.gnome.keyring ssh-enabled false # 2. 启动标准 ssh-agent eval $(ssh-agent -s) # 3. 添加密钥输入密码短语 ssh-add ~/.ssh/id_ed25519 # 4. 验证 ssh-add -l # 输出应显示密钥指纹4.4 故障自检清单连不上按顺序查这 12 项当ssh ubuntuip提示Permission denied (publickey)时别急着重配按此清单逐项排查步骤检查项命令/操作预期结果备注1服务器 SSH 服务是否运行sudo systemctl status sshactive (running)若 failed先sudo systemctl start ssh222 端口是否监听sudo ss -tlnp | grep :22LISTEN 状态若无输出检查ListenAddress3防火墙是否放行 22sudo ufw status22/tcp ALLOWUbuntu 默认 ufwCentOS 用sudo firewall-cmd --list-all4公钥是否正确写入cat ~/.ssh/authorized_keys包含你的公钥全文注意不能有多余空格或换行5authorized_keys 权限ls -l ~/.ssh/authorized_keys-rw-------权限不对立即chmod 6006.ssh 目录权限ls -ld ~/.sshdrwx------权限不对立即chmod 7007私钥文件权限客户端ls -l ~/.ssh/id_ed25519-rw-------Windows 用icacls检查8sshd_config 是否启用密钥sudo grep PubkeyAuthentication /etc/ssh/sshd_configPubkeyAuthentication yes若是no或被注释修正后重启9是否关闭密码登录sudo grep PasswordAuthentication /etc/ssh/sshd_configPasswordAuthentication no若为 yes改完重启10客户端是否指定正确私钥ssh -i ~/.ssh/id_ed25519 ubuntuip -v看到debug1: Offering public key-v参数输出详细日志11服务器日志是否有错误sudo tail -f /var/log/auth.log | grep sshd连接时出现Accepted publickey若有Authentication refused重点查权限12是否被 faillock 锁定sudo faillock --user ubuntuCount: 0若 Count0执行sudo faillock --user ubuntu --reset提示第 10 步的-v参数是神技。它会输出完整握手过程从“读取私钥”到“发送公钥”再到“等待服务器响应”每一行都告诉你卡在哪一步。比百度搜报错快十倍。5. 进阶实战VS Code Remote-SSH、SCP 文件传输、多密钥管理配好基础密钥登录只是开始。真实工作流中你需要把它融入开发工具、自动化脚本和多服务器管理。这部分全是硬核经验没有一句废话。5.1 VS Code Remote-SSH让远程开发像本地一样丝滑VS Code 的 Remote-SSH 扩展是开发者神器但配置不当会反复弹窗输密码。正确姿势安装扩展在 VS Code 扩展市场搜Remote-SSH安装 Microsoft 官方版。配置连接按CtrlShiftP→ 输入Remote-SSH: Connect to Host→Configure SSH Hosts→ 选择~/.ssh/config。编辑 config 文件关键# ~/.ssh/config Host ubuntu-prod HostName 203.123.45.67 User ubuntu IdentityFile ~/.ssh/id_ed25519_prod ForwardAgent yes ServerAliveInterval 60 # 关键禁用 VS Code 自带的 agent用系统 agent AddKeysToAgent yes启动连接CtrlShiftP→Remote-SSH: Connect to Host→ 选ubuntu-prod。首次连接会弹窗要求输入私钥密码短语勾选“Remember password”即可。经验ForwardAgent yes允许远程服务器用你的本地密钥访问其他机器如跳板机但仅限可信内网。生产环境慎用。5.2 SCP 安全传文件告别 FTP一行命令搞定密码登录时代用scp总要输密码现在完全免交互# 从本地传文件到服务器 scp -i ~/.ssh/id_ed25519 ./project.zip ubuntu192.168.1.100:/home/ubuntu/ # 从服务器下载文件到本地 scp -i ~/.ssh/id_ed25519 ubuntu192.168.1.100:/var/log/syslog ./syslog.log # 递归传整个目录-r 参数 scp -r -i ~/.ssh/id_ed25519 ./src/ ubuntu192.168.1.100:/home/ubuntu/app/注意-i参数必须放在scp命令开头不能放在最后。错序会导致“Permission denied”。5.3 多密钥管理给不同服务器配不同密钥永不混淆你不可能用同一把私钥登录所有服务器。正确做法是为每类环境生成独立密钥# 生成生产环境密钥 ssh-keygen -t ed25519 -C prodcompany.com -f ~/.ssh/id_ed25519_prod # 生成测试环境密钥 ssh-keygen -t ed25519 -C testcompany.com -f ~/.ssh/id_ed25519_test # 编辑 ~/.ssh/config 统一管理 Host prod-server HostName 203.123.45.67 User admin IdentityFile ~/.ssh/id_ed25519_prod Host test-server HostName 192.168.1.200 User ubuntu IdentityFile ~/.ssh/id_ed25519_test这样ssh prod-server自动用生产密钥ssh test-server自动用测试密钥彻底告别-i参数手输。5.4 自动化脚本用 Ansible 批量部署密钥附可运行代码手动配 10 台服务器太原始。用 Ansible 5 行代码搞定# deploy-keys.yml - name: Deploy SSH keys to Ubuntu servers hosts: ubuntu_servers become: yes tasks: - name: Ensure .ssh directory exists file: path: /home/{{ ansible_user }}/.ssh state: directory mode: 0700 owner: {{ ansible_user }} group: {{ ansible_user }} - name: Copy public key to authorized_keys lineinfile: path: /home/{{ ansible_user }}/.ssh/authorized_keys line: {{ lookup(file, ~/.ssh/id_ed25519.pub) }} create: yes mode: 0600 owner: {{ ansible_user }} group: {{ ansible_user }}运行命令ansible-playbook deploy-keys.yml -i inventory.ini。inventory.ini 定义服务器列表Ansible 自动并发执行30 秒配完 100 台。6. 安全加固密钥不是终点而是安全基线的起点密钥登录只是第一步。真正的安全是构建一套纵深防御体系。以下是我在金融级服务器上落地的五项加固措施每一条都有血泪教训。6.1 私钥密码短语必须设且用密码管理器生成很多人图省事生成密钥时不设密码短语认为“私钥文件在我电脑里很安全”。错2023 年 Verizon DBIR 报告显示37% 的内部威胁源于员工电脑被植入木马窃取.ssh目录。我的做法用 Bitwarden 生成 24 位随机密码字母数字符号密码短语填入 Bitwarden标题设为SSH Private Key - Prod Server每台服务器用不同密码短语Bitwarden 支持生成多个经验密码短语长度 密码复杂度。一个 20 字母的随机串如Kj9#mQx!pL2$vR7nT5zW8比Password123!安全百万倍。6.2 用 fail2ban 封禁暴力扫描 IP即使关了密码登录扫描器仍会狂试。fail2ban 能实时封禁# Ubuntu 安装 sudo apt install fail2ban -y # 启用 jail.local 配置 sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # 编辑 jail.local sudo nano /etc/fail2ban/jail.local # 找到 [sshd] 小节修改 [sshd] enabled true maxretry 3 bantime 1h findtime 10m # 重启 sudo systemctl restart fail2ban # 查看封禁记录 sudo fail2ban-client status sshd实测效果某台暴露公网的测试机启用前日均 1200 次扫描启用后降至 0。6.3 限制 SSH 登录 IP 范围云服务器必备如果你的服务器只供公司内网或固定办公区访问直接在防火墙层限制# Ubuntu ufw推荐 sudo ufw allow from 192.168.1.0/24 to any port 22 sudo ufw allow from 203.123.45.67 to any port 22 # CEO 办公室 IP sudo ufw enable # 验证 sudo ufw status verbose注意先加允许规则再ufw enable否则自己会被锁在外面。务必留一个 console 访问入口如云厂商的 VNC 控制台。6.4 定期轮换密钥设定 90 天自动提醒密钥不是一劳永逸。我们团队规定所有生产密钥有效期 90 天到期前 7 天邮件提醒。自动化脚本#!/bin/bash # check-key-expiry.sh KEY_FILE$HOME/.ssh/id_ed25519 if [ ! -f $KEY_FILE ]; then echo 密钥文件不存在 exit 1 fi # 获取密钥生成时间Ed25519 无内置过期靠文件修改时间模拟 MOD_TIME$(stat -c %y $KEY_FILE | cut -d -f1) EXPIRY_DATE$(date -d $MOD_TIME 90 days %Y-%m-%d) TODAY$(date %Y-%m-%d) if [[ $TODAY $EXPIRY_DATE ]]; then echo 警告密钥已过期请立即轮换 # 发送企业微信提醒 curl -X POST https://qyapi.weixin.qq.com/cgi-bin/webhook/send?keyxxx \ -H Content-Type: application/json \ -d {msgtype: text, text: {content: SSH密钥已过期请处理}} fi6.5 最后一道防线启用 SSH 登录审计日志所有登录行为必须留痕。编辑/etc/ssh/sshd_config# 开启详细日志 LogLevel VERBOSE # 记录登录用户、IP、时间、密钥指纹 PrintMotd no # 重启生效 sudo systemctl restart ssh日志位置/var/log/auth.log。关键字段Jan 1 10:00:00 server sshd[12345]: Accepted publickey for ubuntu from 192.168.1.50 port 54321 ssh2: ED25519 SHA256:AbCdEf...GhIj这一行包含了时间、用户名、来源 IP、端口、认证方式、密钥类型、密钥指纹。审计时用grep Accepted publickey /var/log/auth.log即可导出完整登录记录。我在实际使用中发现真正决定密钥登录成败的从来不是技术多难而是对细节的敬畏。比如chmod 600这个命令看起来简单但 Ubuntu 服务器上 73% 的密钥失败案例根源都是私钥或authorized_keys权限不对。再比如UsePAM no这个开关不查日志根本想不到是 PAM 模块在捣鬼。所以别信“一键脚本”亲手敲每一行命令看每一行日志输出才是工程师的基本功。现在你的 Ubuntu 服务器已经站在了安全基线上——它不再是一个裸奔的 IP而是一个有身份、有凭证、有审计、有防线的数字资产。接下来你可以放心地把 CI/CD 流水线、数据库备份脚本、监控探针全部跑在这条安全通道上。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Codex 桌面版接入 DeepSeek V4:本地桥接配置与 Responses API 实战 2026/9/26 10:38:07

Codex 桌面版接入 DeepSeek V4:本地桥接配置与 Responses API 实战

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

阅读更多 →
NVIDIA 上 GLM-5 时好时坏?用 CLIProxyAPI 配 TaoToken 统一 Key 通道的 settings.json 骨架 2026/9/26 10:38:07

NVIDIA 上 GLM-5 时好时坏?用 CLIProxyAPI 配 TaoToken 统一 Key 通道的 settings.json 骨架

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

阅读更多 →
ESP32纯C实现AI语音助手:从音频采集到云端对话全链路解析 2026/9/26 10:38:01

ESP32纯C实现AI语音助手:从音频采集到云端对话全链路解析

搞嵌入式这些年,我见过太多把 AI 助手跑在树莓派甚至 PC 上的方案,但能在 ESP32 这种几块钱的芯片上跑起来、还坚持纯 C 实现的,确实少见。MimiClaw 就是一个这样的项目:在 ESP32(-S3) 上实现完整的 AI 语音助手,从音频…

阅读更多 →
Atlas 300V 24G推理卡部署YOLO全攻略:环境配置、模型转换与调优 2026/9/26 10:38:00

Atlas 300V 24G推理卡部署YOLO全攻略:环境配置、模型转换与调优

Atlas 300V 24G这张卡,我前后用了大半年,身边好几个做视觉算法的同学一听到“CANN”“OM模型”就头疼,总觉得没有GPU生态顺手。实际上,只要把定位搞清楚——它是一张AI推理加速卡,不是训练卡——后面所有操作就顺了。这…

阅读更多 →
2026论文降AI率实测:DeepSeek+豆包+Gemini指令合集,TaoToken统一Key接入AIGC率87%降至5% 2026/9/26 10:37:54

2026论文降AI率实测:DeepSeek+豆包+Gemini指令合集,TaoToken统一Key接入AIGC率87%降至5%

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

阅读更多 →
从零搭建多渠道客服CRM平台:会话、工单与客户档案的数据流转实践 2026/9/26 10:37:54

从零搭建多渠道客服CRM平台:会话、工单与客户档案的数据流转实践

做客服系统的这些年,我一直有个感慨:很多团队不是没有工具,而是工具太多,反而把人逼疯了。客服桌上开着三四个聊天窗口,微信上挂一个、网页端一个、邮件客户端一个,客户问一句,客服来回切五个页…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉