完整修复 SSH 公钥认证(让 GitHub 认识你)

你执行 ssh -T [email protected] 提示 Permission denied (publickey),说明你本地虽然有 SSH 密钥,但未被 GitHub 认证,或者密钥没有被当前会话加载。别担心,按以下步骤一步步排查和修复即可。


🧰 完整修复 SSH 公钥认证(让 GitHub 认识你)

1️⃣ 确认本地已有 SSH 密钥

运行:

ls -la ~/.ssh/ 

你应该能看到 id_rsaid_rsa.pub(或 id_ed25519/id_ed25519.pub)这类文件。

  • 如果存在:继续下一步。

如果不存在:需要生成新密钥(直接回车使用默认路径,密码可选)

ssh-keygen -t ed25519 -C "你的邮箱@example.com"

或者

ssh-keygen -t rsa -b 4096 -C "你的邮箱@example.com"

2️⃣ 确保 ssh-agent 正在运行并添加密钥

先启动 ssh-agent:

eval"$(ssh-agent -s)"

输出类似 Agent pid 12345

然后将你的私钥加入代理:

ssh-add ~/.ssh/id_rsa # 如果文件名不是 id_rsa,换成实际的私钥文件名

如果提示 Identity added,说明加载成功。


3️⃣ 将公钥添加到 GitHub 账户

复制公钥内容:

cat ~/.ssh/id_rsa.pub # 或 id_ed25519.pub

选中并复制全部(以 ssh-rsassh-ed25519 开头,邮箱结尾)。

然后:

  • 浏览器登录 GitHub SSH keys 设置页
  • 点击 New SSH Key
  • Title 任意填写(如“UOS work PC”)
  • Key 粘贴刚才复制的内容
  • 点击 Add SSH Key

4️⃣ 再次测试 SSH 连接

ssh -T [email protected] 

如果看到:

Hi 你的用户名! You've successfully authenticated... 

说明认证成功,可以正常使用 SSH 协议克隆仓库了。


5️⃣ 重新安装 openclaw

cd ~/openclaw-test npminstall openclaw 

现在应该不会再报 Permission denied 了。


🔁 如果你觉得配置 SSH 太麻烦,也可以直接用 HTTPS

如果你不常 push 代码,只是安装依赖,用 HTTPS 最简单,无需任何认证。执行以下命令移除 SSH 替换规则(如果之前设置过)并重试:

git config --global --unset url."https://github.com/".insteadOf npm config delete git# 如果之前错误设置过npm config setgit"git"cd ~/openclaw-test npminstall openclaw 

此时 Git 会通过 HTTPS 访问 GitHub,公开仓库无需密码。

两种方法任选一种即可。推荐优先尝试 SSH,成功后以后 push 代码也方便。


⚠️ 常见问题排查

  • 网络代理:如果你在公司内网,可能需要配置 HTTP 代理,或者改用 HTTPS 协议(无需 SSH)。

多密钥管理:如果你有多个 SSH 密钥(例如公司 GitLab 和个人 GitHub),需要在 ~/.ssh/config 中指定不同 Host 使用不同密钥。
示例配置:

Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa_github 

密钥权限过宽:SSH 要求私钥文件权限为 600,公钥 644。

chmod600 ~/.ssh/id_rsa chmod644 ~/.ssh/id_rsa.pub 

请按上述步骤操作,SSH 认证问题应能解决。如果仍然失败,请将以下命令的输出粘贴给我,我会进一步协助:

ssh -vvv [email protected] ls -la ~/.ssh/ cat ~/.ssh/config # 如果存在

现在你离成功安装 openclaw 只剩最后一步,加油!

Read more

Neo4j 知识讲解与在线工具使用教程

图数据库领域的核心工具 ——Neo4j,同时详细拆解其在线预览控制台(https://console-preview.neo4j.io/)的使用方法,以及查询工具(https://console-preview.neo4j.io/tools/query)的模块功能。 一、Neo4j 核心知识铺垫 在使用工具前,我们需要先理解 Neo4j 的本质和核心概念,这是后续操作的基础。 1. 什么是 Neo4j? Neo4j 是世界上最流行的原生图数据库(Native Graph Database),专门用于存储、查询和分析 “实体之间的关联关系”。它与我们熟悉的 MySQL 等关系型数据库的核心差异的是: * 关系型数据库(MySQL):用 “表 + 行 + 外键” 间接表示关联,查询多表关联时需频繁 JOIN,效率低; * 图数据库(Neo4j)

By Ne0inhk
【无人机】无人机路径规划算法

【无人机】无人机路径规划算法

目录 一、引言:无人机与路径规划算法 二、路径规划算法基础 (一)定义与重要性 (二)规划目标与约束条件 三、常见路径规划算法详解 (一)A * 算法 (二)Dijkstra 算法 (三)RRT(快速扩展随机树)算法 (四)蚁群算法 四、算法应用实例与效果展示 (一)不同场景下的算法应用 (二)算法性能对比数据 五、算法的优化与发展趋势 (一)现有算法的优化策略 (二)结合新技术的发展方向 六、挑战与展望 (一)面临的技术挑战 (二)未来应用前景 七、结论 一、引言:无人机与路径规划算法 在科技飞速发展的今天,无人机作为一种极具创新性的技术产物,已深度融入我们生活的方方面面,

By Ne0inhk

简单理解:单片机怎么和FPGA通信

了解单片机与 FPGA 之间的通信方式,这是嵌入式系统中非常常见的硬件交互场景,核心是要根据传输速率、硬件资源、开发复杂度选择合适的通信协议。 一、主流通信方式及实现方案 单片机和 FPGA 通信主要分为并行通信和串行通信两大类,下面按从易到难、从低速到高速的顺序介绍: 1. 通用 IO 口(GPIO)自定义协议(最简单) 适合低速、短距离、数据量小的场景(如按键、状态交互),完全自定义通信规则,开发灵活。 * 硬件连接: * 单片机:1 个输出引脚(发送) + 1 个输入引脚(接收) * FPGA:1 个输入引脚(接收) + 1 个输出引脚(发送) * 需共地,建议加 10K 上拉电阻提高稳定性。 * 单片机端(C 语言,

By Ne0inhk