本地环境通过 SSH 协议访问 GitHub 上的仓库时,SSH 公钥认证失败,配置 Git SSH 密钥
目录
问题

这个 npm 安装报错,核心原因是本地环境通过 SSH 协议访问 GitHub 上的 libsignal-node.git 仓库时,SSH 公钥认证失败,导致 Git 没有权限拉取这个仓库的代码,最终 npm 执行 Git 命令返回了 128 错误码。
核心问题:
[email protected]: Permission denied (publickey) 明确说明 GitHub 服务器无法通过本地的 SSH 公钥验证你的身份,拒绝了连接请求。
解决方案
配置 Git SSH 密钥是从根本上解决这个问题的方案
1. 检查本地是否已有 SSH 密钥
先确认是否已有密钥(避免重复生成):
# macOS/Linuxls -la ~/.ssh # Windows PowerShelltype$HOME/.ssh/id_rsa.pub # 若提示文件不存在,说明没有密钥如果输出里有 id_rsa(私钥)和 id_rsa.pub(公钥),直接跳到步骤 3;没有则执行步骤 2。
2. 生成新的 SSH 密钥(全程回车即可)
# 替换为你注册 GitHub 的邮箱(关键!) ssh-keygen -t rsa -b 4096 -C "你的GitHub邮箱@xxx.com"执行后会提示:
Enter file in which to save the key:直接回车,使用默认路径(~/.ssh/id_rsa);
Enter passphrase:可选,设置密钥密码(按回车跳过,方便后续使用);
Enter same passphrase again:同上,回车跳过。
3. 复制 SSH 公钥内容
# macOS/Linuxcat ~/.ssh/id_rsa.pub # Windows PowerShelltype$HOME/.ssh/id_rsa.pub 复制输出的全部内容(以 ssh-rsa 开头,你的邮箱结尾,不要漏字符)。
4. 将公钥添加到你的 GitHub 账号
1.打开 GitHub 官网,登录你的账号;
2.点击右上角头像 → Settings(设置);
3.左侧菜单找到 SSH and GPG keys → 点击 New SSH key;
4.Title 填任意名称(比如 “本地电脑 - 安装 openclaw”);
5.Key 粘贴刚才复制的公钥内容;
6.点击 Add SSH key(可能需要验证 GitHub 密码)。

5. 验证 SSH 连接是否成功(关键步骤)
执行以下命令,验证 GitHub 是否能识别你的密钥:
ssh -T [email protected] 如果输出“ Hi 你的GitHub用户名! You’ve successfully authenticated, but GitHub does not provide shell access. ”→ 配置成功;
如果仍报错,检查公钥是否复制完整、是否绑定到正确的 GitHub 账号。
6. 重新执行安装命令
npminstall -g openclaw@latest 此时 npm 能通过 SSH 正常拉取 libsignal-node 仓库,安装会顺利完成。