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.pswp.cn/news/917900.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】“回归“算法模型的三个评估指标:MAE(衡量预测准确性)、MSE(放大大误差)、R²(说明模型解释能力)

文章目录一、MAE、MSE、r概念说明二、MAE(平均绝对误差):用"房价预测"理解误差测量三、MSE(均方误差):误差的"放大镜"1、概念说明2、 sklearn代码实践3、流程总结四、R:理解…

智慧城市SaaS平台|市容环卫管理系统

【生活垃圾中转设施监管】1) 设施信息管理a) 设施基本信息支持记录中转设施的名称、位置、类型、容量、负责人等基本信息。b) 设施分布地图支持通过GIS地图展示中转设施的分布情况,支持地图查询和导航。2) 垃圾收运监控a) 垃圾收运记录支持记录垃圾收运的时间、车辆…

JAVA-13常用类(2025.08.02学习记录)

String类String类equals方法String类compareTo方法String类valueOf方法boolean参数内存分析_字符串拼接只会在内存中开辟一个对象内存分析_字符串new创建对象内存分析_变量和字符串拼接字节码执行过程String类内存分析package com.cn;public class test01 {public static void …

QT----简单的htttp服务器与客户端

HTTP协议学习 协议的相关学习可以参考这篇 csdn学习连接 总体流程如下 HTTP服务器 监听ip和端口,有连接时接收请求,发送回复 server.h #pragma once #include <QtWidgets/QMainWindow> #include "ui_httpServer.h" #include <QTcpServer> #include &l…

飞 算 JavaAI 解 析:有 了 它,麻 麻 再 也 不 用 担 心 我 不 会 写 代 码 了!

声 明&#xff1a;本 篇 博 客 为 测 评 体 验 非 广 告。 文 章 目 录一、产 品 简 介二、注 册 与 上 手方 法 一 - - - 从 IDEA 插 件 市 场 安 装方 法 二产 品 使 用三、产 品 体 验智 能 引 导 功 能理 解 需 求设 计 接 口表 结 构 设 计处 理 逻 辑生 成 源 码Java ch…

iOS混淆工具有哪些?在集成第三方 SDK 时的混淆策略与工具建议

许多 iOS 项目中&#xff0c;不可避免地会集成各种第三方 SDK&#xff0c;比如支付、统计、广告、社交登录等。这些 SDK 常常存在逆向被 Hook 或提取业务逻辑的风险&#xff0c;尤其是在流程敏感或要求合规的行业中。 当你无法对第三方源码进行控制或重新编译时&#xff0c;混淆…

【学习笔记之redis】删除缓存

有一串这个代码&#xff0c;staffEmailList这个key值里面的数据是错误的我需要删除它&#xff0c;把数据新的数据加载到redis缓存中。 public EmailAddressRespDTO getAllEmailAddress() { List<EmailAddressRespDTO> staffEmailList redisCache.getCacheList("s…

Redis 持久化机制浅析

1. 持久化机制的作用 Redis 是基于内存的数据结构数据库&#xff0c;虽然读写性能非常高&#xff0c;但所有数据默认保存在内存中。一旦服务器宕机、进程意外崩溃或容器重启&#xff0c;内存中的数据将全部丢失。这对于生产环境的可用性与可靠性是极其危险的。因此&#xff0c;…

使用MatterJs物理2D引擎实现重力和鼠标交互等功能,有点击事件(盒子堆叠效果)

使用MatterJs物理2D引擎实现重力和鼠标交互等功能&#xff0c;有点击事件&#xff08;盒子堆叠效果&#xff09; 效果图&#xff1a;直接上代码&#xff0c;我是用的是html&#xff0c;使用了MatterJs的cdn&#xff0c;直接复制到html文件中然后在浏览器打开即可 <!DOCTYPE …

如何玩转 Kubernetes K8S

在容器化时代&#xff0c;虽然Docker已经很强大了&#xff0c;但是在实际使用上还是有诸多不便&#xff0c;比如集群管理、资源调度、文件管理等等。 不过目前也涌现了很多解决方案&#xff0c;比如 Mesos、Swarm、Kubernetes 等等&#xff0c;其中谷歌开源的 Kubernetes就是其…

论文阅读笔记:Dataset Condensation with Gradient Matching

论文阅读笔记&#xff1a;Dataset Condensation with Gradient Matching1. 解决了什么问题&#xff1f;(Motivation)2. 关键方法与创新点 (Key Method & Innovation)2.1 核心思路的演进&#xff1a;从参数匹配到梯度匹配2.2 算法实现细节 (Implementation Details)3. 实验结…

网安学习no.22

一、基础系统信息命令&#xff08;简单入门&#xff09;uname作用&#xff1a;查看系统内核信息示例&#xff1a;uname -a&#xff08;显示完整内核版本、主机名、硬件架构等&#xff09;hostname作用&#xff1a;查看或设置主机名示例&#xff1a;hostname&#xff08;显示当前…

AJAX的引入

是的&#xff0c;AJAX 的一个主要特点就是通过 局部刷新 来实现与服务器的交互&#xff0c;而不需要重新加载整个页面。通过 AJAX&#xff0c;JavaScript 可以发送异步的 HTTP 请求&#xff0c;接收到响应数据后&#xff0c;更新页面的某个部分&#xff08;DOM&#xff09;。这…

SpringBoot 整合 Langchain4j AIService 深度使用详解

目录 一、前言 二、AIService 介绍 2.1 AiService 是什么 2.2 AiService 主要功能 2.3 AiService 使用步骤 三、AIService 操作实践 3.1 前置准备 3.1.1 获取apikey 3.1.2 导入核心依赖 3.1.3 添加配置文件 3.1.4 前置导入案例 3.2 AIService 案例操作详解 3.2.1 入…

基于FFmpeg和HLS的大文件分片传输方案

1&#xff1a;功能介绍 在视频这类大文件的传输过程中&#xff0c;经常会因为文件太大而受到网络带宽的限制。比如在实现视频预览功能时&#xff0c;常常会出现长时间加载、缓存卡顿的问题。我在项目中也遇到了类似的情况&#xff0c;于是采用了这个解决方案。 我们可以利用 FF…

体育场预定-下单-扣减库存一致性

流程1:通过库存服务缓存(缓存里面不仅有位图存储该时间点id的位置信息还有库存信息)的Redis获取令牌2:拿着令牌向订单服务同步下单如果有令牌就执行下面的Redis&#xff0c;如果没有就直接返回扣减Redis库存缓存扣减成功:继续扣减失败:返回前端重试整套流程3:1锁2查3更新生成订…

【计算机网络】王道考研笔记整理(3)数据链路层

目录 第三章 数据链路层 3.1 数据链路层的功能 3.2 组帧 3.2.1 字符计数法 3.2.2 字节填充法 3.2.3 零比特填充法 3.2.4 违规编码法 3.3 差错控制 3.3.1 奇偶校验码 3.3.2 CRC 校验码 3.3.3 海明校验码 3.4 可靠传输与流量控制 3.4.1 滑动窗口机制 3.4.2 停止 - 等待…

【后端】java 抽象类和接口的介绍和区别

文章目录一、抽象类&#xff08;Abstract Class&#xff09;二、接口&#xff08;Interface&#xff09;三、核心区别总结四、使用场景对比五、从设计思想理解最佳实践在Java中&#xff0c;抽象类&#xff08;Abstract Class&#xff09;和接口&#xff08;Interface&#xff0…

Apache OFBiz Scrum 组件命令注入漏洞

【严重】Apache OFBiz Scrum 组件命令注入漏洞 漏洞描述 Apache OFBiz 是一款知名的开源企业资源规划(ERP)解决方案&#xff0c;它提供了一整套开箱即用的企业级应用。Scrum 是 OFBiz 的一个插件&#xff0c;旨在为敏捷开发团队提供项目管理功能&#xff0c;其中包括与 SVN 版…

FastAPI入门:多个文件、后台任务、元数据和文档 URL

更大的应用 - 多个文件 假设文件结构如下&#xff1a;. ├── app # 「app」是一个 Python 包 │ ├── __init__.py # 这个文件使「app」成为一个 Python 包 │ ├── main.py # 「main」模块&#xff0c;例如 import app.main │ ├…