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

github——SSH连接配置文档

1. 检查是否已有 SSH 密钥

打开终端,检查是否已经存在 SSH 密钥对:

ls ~/.ssh

如果你看到类似 id_rsaid_rsa.pub 的文件,说明你已经有 SSH 密钥。否则,继续下一步。

2. 生成 SSH 密钥

如果你没有 SSH 密钥,使用以下命令生成一个新的密钥对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

其中,将 "your_email@example.com" 替换为你在 GitHub 上注册的电子邮件地址。

  • 文件保存位置:按提示按 Enter 键,选择默认保存路径(~/.ssh/id_rsa)。

  • 设置密码:你可以选择设置一个密码来保护密钥,或者直接按 Enter 跳过。

3. 添加 SSH 密钥到 SSH agent

接下来,确保 SSH agent 正在运行并将密钥添加到 agent 中:

eval "$(ssh-agent -s)"

然后,使用以下命令将 SSH 私钥添加到 agent:

ssh-add ~/.ssh/id_rsa

4. 将公钥添加到 GitHub

  1. 打开公钥文件并复制其内容:

    cat ~/.ssh/id_rsa.pub
    
  2. 登录到 GitHub。

  3. 点击右上角的头像,选择 Settings

  4. 在左侧菜单中选择 SSH and GPG keys

  5. 点击 New SSH key

  6. Title 字段中输入一个标识性名称(例如:"My Laptop"),将步骤 3 中复制的公钥粘贴到 Key 字段。

  7. 点击 Add SSH key

5. 测试 SSH 连接

确认 SSH 配置是否正确,运行以下命令:

ssh -T git@github.com

如果配置成功,输出会类似于:

Hi <your-username>! You've successfully authenticated, but GitHub does not provide shell access.

6. 设置 Git 远程仓库使用 SSH

如果你的 Git 仓库当前使用 HTTPS,可以将其切换为 SSH:

  1. 检查当前远程仓库的 URL:

    git remote -v
    

    输出可能是:

    origin  https://github.com/iiYQ1007/server.git (fetch)
    origin  https://github.com/iiYQ1007/server.git (push)
    
  2. 将远程仓库的 URL 更改为 SSH:

    git remote set-url origin git@github.com:iiYQ1007/server.git
    
  3. 再次推送代码:

    git push origin main
    

7. 故障排除

  • 检查防火墙或代理:某些网络环境可能会阻止 SSH 连接。确保没有防火墙或代理干扰 SSH 连接。

  • 查看日志信息:如果问题仍然存在,使用以下命令获取详细日志:

    GIT_SSH_COMMAND="ssh -v" git push origin main
    

额外提示

  • 更新 GitHub 密钥:如果你更换了设备或更改了 SSH 密钥,记得在 GitHub 的 SSH and GPG keys 部分更新或删除旧的公钥。

  • 使用多个密钥:如果你在多个设备或项目中使用不同的 SSH 密钥,可以为每个密钥配置不同的 Title,并确保 SSH agent 正确加载所需的密钥。

http://www.dtcms.com/a/99199.html

相关文章:

  • @Slf4j注解
  • python的内存管理
  • Knife4j 接口文档使用流程分析
  • 7.3 主成分分析(PCA)
  • Python切片中的步长秘密
  • Python 序列构成的数组(切片)
  • sqli-labs靶场 less 10
  • prometheus+grafana监控虚拟机实操
  • Windows 11 VS Code C/C++ 开发环境搭建——一种尽量“绿色”的方法
  • defconfig配置宏的规则
  • C. Assembly via Minimums
  • 一种C# Winform的UI处理
  • Python第六章18:数据容器的通用操作
  • 简单ELK框架搭建
  • 为pip设置国内镜像源
  • Android Jetpack学习总结(源码级理解)
  • 明达IOT 平台助推纺织龙头实现智能管理
  • 动态规划篇(数位统计DP)
  • 用空闲时间做了一个小程序-二维码生成器
  • 【安全】nginx防止host头攻击
  • c++弱指针实现原理
  • Python小练习系列 Vol.5:数独求解(经典回溯 + 剪枝)
  • Linux之基础知识
  • 深度学习处理时间序列(5)
  • 《新凯来:半导体设备制造领域的“国家队”》
  • 【愚公系列】《高效使用DeepSeek》039-政务工作辅助
  • LeetCode 2360.图中的最长环:一步一打卡(不撞南墙不回头) - 通过故事讲道理
  • Redis延时队列在订单超时未报到场景的应用分享
  • 【数据结构】二叉树 — 经典OJ面试题剖析!!!
  • 关于 websocket协议的理解