当前位置: 首页 > ds >正文

git配置公钥/密钥

遇到 “git@github.com: Permission denied (publickey)” 错误通常意味着你尝试通过 SSH 连接到 GitHub 时,SSH 密钥没有被正确设置或者 GitHub 无法识别你的公钥。这里有几个步骤可以帮助你解决这个问题:

  1. 检查 SSH 密钥

首先,确保你已经在本地生成了 SSH 密钥,并且已经将其添加到 SSH agent 中。你可以通过以下命令来检查:

检查是否已生成 SSH 密钥

ls -al ~/.ssh

这应该会列出你的私钥和公钥文件,通常是 id_rsa 和 id_rsa.pub

启动 SSH agent

eval “$(ssh-agent -s)”

添加你的私钥到 SSH agent

ssh-add ~/.ssh/id_rsa
2. 查看 SSH 配置

确保你的 ~/.ssh/config 文件(如果存在)或者全局 SSH 配置文件(通常位于 /etc/ssh/ssh_config)正确设置了 Host github.com 的参数。例如:

Host github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
3. 检查公钥是否在 GitHub 上注册

登录到 GitHub,进入你的账户设置 -> SSH 和 GPG 密钥,检查你的公钥是否已经列在那里。如果没有,你需要添加它:

打开终端,查看你的公钥:

cat ~/.ssh/id_rsa.pub

复制输出的内容。

在 GitHub 的设置中,点击“New SSH key”或“Add SSH key”,粘贴你的公钥,并保存。

  1. 测试 SSH 连接

在命令行中,尝试使用以下命令测试 SSH 连接:

ssh -T git@github.com

如果一切设置正确,你应该会看到类似 “Hi [username]! You’ve successfully authenticated, but GitHub does not provide shell access.” 的消息。

  1. 使用 HTTPS 替代 SSH(如果问题持续存在)

如果问题依旧,你可以尝试使用 HTTPS URL 来克隆仓库,而不是 SSH URL:

git clone https://github.com/username/repository.git

然后使用你的 GitHub 用户名和密码进行认证。

  1. 检查防火墙和代理设置

如果你在公司或学校网络后面,可能存在网络代理或防火墙限制。确保你的网络设置允许你访问 GitHub。如果你使用代理,确保你的 Git 配置了正确的代理设置:

git config --global http.proxy ‘http://proxy.example.com:8080’
git config --global https.proxy ‘https://proxy.example.com:8080’

然后再次尝试连接。如果你不再需要通过代理,可以使用:

git config --global --unset http.proxy
git config --global --unset https.proxy

按照这些步骤操作后,通常可以解决大部分关于 SSH 密钥的问题。如果问题仍然存在,可能需要更详细地检查你的系统设置或联系网络管理员。

http://www.xdnf.cn/news/17063.html

相关文章:

  • MySQL梳理三:查询与优化
  • ThinkPHP 与 Vue.js 结合的全栈开发模式
  • Flink程序关键一步:触发环境执行
  • ubuntu syslog中appindicator报错解决
  • ABP VNext + CloudEvents:事件驱动微服务互操作性
  • 系统学习算法:专题十六 字符串
  • 代码随想录day53图论4
  • XSS-DOM 2
  • MCP革命:Anthropic如何重新定义AI与外部世界的连接标准
  • Docker环境离线安卓安装指南
  • Android 之 WebView与HTML交互
  • 51单片机入门:矩阵键盘与简单密码锁项目
  • 10.Redis 数据类型
  • [硬件电路-147]:模拟电路 - DC/DC电压的三种架构:升压(Boost)、降压(Buck)或升降压(Buck-Boost)
  • 2561. 重排水果
  • 苏州银行招苏新基金研究部研究员
  • TCL --- 列表_part2
  • 【前端:Html】--1.1.基础语法
  • 大模型笔记1——李宏毅《2025机器学习》第一讲
  • python JSONPath 表达式生成器
  • 一维dp-序列类型-最长有效括号
  • 如何在`<link type=“icon“ href=`的`href`中写SVG并使用path标签? 笔记250802
  • Design Compiler:Milkyway库的创建与使用
  • 中之人模式下的虚拟主持人:动捕设备与面捕技术的协同驱动
  • 人工智能与交通:智能出行的变革与未来
  • retro-go 1.45 编译及显示中文
  • C/C++常用字符串函数
  • 具身智能VLA困于“数据泥潭”,人类活动视频数据是否是“破局之钥”?
  • Noob靶机
  • 大模型 + 垂直场景:搜索 / 推荐 / 营销 / 客服领域开发有哪些新玩法?