You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unifi Cloud Key Gen 1 SSH公钥认证配置失败求助

Unifi Cloud Key Gen 1 SSH公钥认证配置失败求助

Hey Dave, let's work through this SSH key auth issue step by step—you've already knocked out most of the basic setup, so let's dive into some common overlooked details that might be causing the problem:

先确认几个核心细节

  • 用户身份匹配:你本地生成密钥的用户,和SSH登录CK时使用的用户是不是完全一致?比如CK默认用户是ubnt,那公钥必须放到CK上ubnt用户的~/.ssh/authorized_keys里,别误放到root或其他用户的目录下了。
  • 完整的Debug日志:你贴的SSH日志只显示了开头部分,完整的调试信息能帮我们定位问题。在本地Mac上运行ssh -vvv your-ck-username@ck-ip-address,把publickey认证阶段的完整输出贴出来——比如有没有显示“offering public key”,或是“server refused our key”这类关键提示。

排查常见配置坑

  1. 目录/文件权限的深层检查
    除了你已经设置的.ssh(700)和authorized_keys(600)权限,还要检查用户主目录的权限:

    ls -ld ~
    

    主目录权限不能是777,必须是755或更严格(比如700),否则SSH会拒绝读取密钥文件。如果权限不对,用chmod 755 ~修正。

  2. sshd_config的隐藏问题

    • 检查sshd_config里有没有AllowUsers或DenyUsers配置,如果有,确保你的登录用户在允许列表中。
    • 用sshd -t命令检查配置文件语法,避免因为语法错误导致sshd重启失败(这时候会沿用旧的配置)。
    • 确认PasswordAuthentication是否开启(虽然你想用公钥,但如果ChallengeResponseAuthentication或UsePAM设置异常,也可能影响公钥认证)。
  3. 本地密钥加载问题
    检查Mac的ssh-agent是否加载了你的私钥:

    ssh-add -l
    

    如果看不到你的id_rsa密钥,运行ssh-add ~/.ssh/id_rsa加载,也可以在~/.ssh/config里添加AddKeysToAgent yes,让SSH自动把密钥加入代理。

  4. 安全模块限制
    CK基于Debian/Ubuntu系统,可能有AppArmor限制SSH读取密钥文件。可以临时禁用排查:

    sudo systemctl stop apparmor
    

    如果禁用后能正常登录,再去配置AppArmor规则或调整为宽容模式。

  5. 公钥格式完整性
    确保复制到authorized_keys的公钥是完整的一行,没有换行、空格缺失或多余字符。本地~/.ssh/id_rsa.pub的格式应该是:

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ... your-local-username@your-mbp.local
    

    复制时别漏掉开头的ssh-rsa或结尾的用户主机标识。

先从这些方向排查,尤其是完整的debug日志和主目录权限,这两个是最容易踩的坑。如果还是解决不了,把ssh -vvv的完整输出贴出来,我们再深入分析!

备注:内容来源于stack exchange,提问作者DaveL17

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 11:25:28