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

无法生成SSH密钥,求助解决GitHub密钥生成与添加问题

解决GitHub SSH密钥生成与格式问题

一、解决SK密钥生成失败(device not found)的问题

你用的ssh-keygen -t ed25519-sk和ecdsa-sk是FIDO2安全密钥专用命令(比如YubiKey、Touch ID这类硬件验证设备),报错说明系统未检测到对应安全设备,按以下两种情况处理:

情况1:没有FIDO2安全密钥

直接生成普通SSH密钥即可,无需硬件验证:

  • 优先生成ed25519密钥(安全性更高):
    ssh-keygen -t ed25519 -C "你的邮箱地址"
    
  • 若系统不支持ed25519,改用RSA密钥:
    ssh-keygen -t rsa -b 4096 -C "你的邮箱地址"
    

执行命令后按回车确认密钥存储路径,可选设置密码,即可完成密钥对生成。

情况2:有FIDO2安全密钥(如Touch ID、YubiKey)

  1. 检查设备状态:
    • USB类设备(如YubiKey):确保插牢,可尝试更换USB接口;
    • macOS Touch ID:确认系统版本≥12.0,OpenSSH版本≥8.2(用ssh -V命令查看版本)。
  2. 重新执行SK命令,在终端弹出提示时立即触摸安全密钥(比如按Touch ID传感器),不要等报错再操作。

二、解决"Key is invalid. You must supply a key in OpenSSH public key format"问题

即使是.pub后缀的文件,也可能因内容格式异常被GitHub拒绝,按以下步骤排查:

  1. 验证公钥格式:
    执行命令查看公钥内容:
    cat ~/.ssh/id_ed25519.pub  # 替换为你的公钥文件名,比如id_rsa.pub
    
    正确格式应为:ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... 你的邮箱地址(开头是密钥类型,中间是base64编码字符串,结尾是注释信息)。
  2. 正确复制公钥:
    • 全选终端输出的完整字符串,不要遗漏开头的ssh-xxx标识或结尾的注释;
    • 避免手动添加换行、空格或其他字符;
    • 不要通过文本编辑器打开复制(可能自动引入格式问题),直接复制终端输出的内容。
  3. 若公钥格式确实异常,重新生成普通密钥(参考第一部分的普通密钥命令),再复制新生成的.pub文件内容。

内容的提问来源于stack exchange,提问作者Jivkoslav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 09:02:24