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

生成 SSH Key 并配置 GitHub/GitLab 详细教程

🔑 生成 SSH Key 并配置 GitHub/GitLab 详细教程

🟢 第 1 步:检查是否已有 SSH Key

Git Bash (Windows)、终端 (Linux/macOS) 运行以下命令:

ls -al ~/.ssh

🔹 可能的输出:

  • 如果已有 SSH Key(如 id_rsaid_rsa.pub
    说明你已经生成过 SSH Key,可以跳到 第 4 步 直接添加到 GitHub/GitLab。
  • 如果 .ssh 目录不存在或没有 id_rsa 文件
    说明你需要生成新的 SSH Key,请继续下一步。

🟢 第 2 步:生成新的 SSH Key

运行以下命令:

ssh-keygen -t rsa -b 4096 -C "你的邮箱"

示例:

ssh-keygen -t rsa -b 4096 -C "yaoyuzhuo6@gmail.com"

🔹 参数说明:

  • -t rsa :使用 RSA 算法(GitHub/GitLab 推荐)
  • -b 4096 :生成 4096 位密钥(比默认 2048 位更安全)
  • -C "你的邮箱" :添加注释(通常是你的 GitHub/GitLab 绑定邮箱)

💡 系统会询问以下问题

  1. Enter file in which to save the key (~/.ssh/id_rsa 默认回车)

    Enter file in which to save the key (/home/your-user/.ssh/id_rsa):
    
    • 直接回车 使用默认路径(推荐)
    • 如果已有密钥,可以换个名字,如 id_rsa_github
  2. Enter passphrase(输入密码,可留空)

    Enter passphrase (empty for no passphrase):
    
    • 建议直接回车(否则每次使用 SSH 都要输入密码)

生成成功后,会在 ~/.ssh/ 目录下创建两个文件:

~/.ssh/id_rsa      # 私钥(不要分享)
~/.ssh/id_rsa.pub  # 公钥(需要添加到 GitHub/GitLab)

🟢 第 3 步:启动 SSH Agent 并添加密钥

1️⃣ 启动 SSH 代理(用于管理密钥):

eval "$(ssh-agent -s)"

成功时会返回:

Agent pid 12345

2️⃣ 将私钥添加到 SSH 代理

ssh-add ~/.ssh/id_rsa

如果你的私钥文件名不是 id_rsa,请修改为实际名称:

ssh-add ~/.ssh/id_rsa_github

💡 如果报错

Could not open a connection to your authentication agent

请先运行:

eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa

🟢 第 4 步:复制 SSH 公钥

运行:

cat ~/.ssh/id_rsa.pub

🔹 复制公钥的方法:

  • Windows Git Bash

    clip < ~/.ssh/id_rsa.pub
    
  • macOS

    pbcopy < ~/.ssh/id_rsa.pub
    
  • Linux(手动复制):

    cat ~/.ssh/id_rsa.pub
    

🟢 第 5 步:添加 SSH Key 到 GitHub/GitLab

🔹 GitHub

  1. 打开 GitHub SSH 设置
  2. 点击 New SSH Key
  3. Title:随便填(如 “My Laptop”)
  4. Key:粘贴 id_rsa.pub 里的内容
  5. 点击 Add SSH Key

🔹 GitLab

  1. 打开 Preferences -> SSH Keys
  2. 粘贴 id_rsa.pub 的内容
  3. 点击 Add Key

🟢 第 6 步:测试 SSH 连接

ssh -T git@github.com

如果成功,会看到:

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

🎉 SSH Key 配置成功!


🟢 第 7 步:设置 Git 使用 SSH 方式拉取代码

默认情况下,Git 可能还在使用 HTTPS,需要手动改为 SSH。

✅ 设置全局 Git 远程 URL 方式:

git config --global url."git@github.com:".insteadOf "https://github.com/"

这样你 git clonegit push 就不会要求输入 GitHub 账号和密码了!


🟢 第 8 步:使用 SSH 克隆 GitHub/GitLab 仓库

💡 HTTPS 方式(需要输入密码):

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

💡 SSH 方式(不需要输入密码):

git clone git@github.com:your-username/repository.git

如果使用 GitLab:

git clone git@gitlab.com:your-username/repository.git

🎯 总结

检查 SSH Key
生成 SSH Key
启动 SSH 代理 & 添加密钥
复制公钥 & 添加到 GitHub/GitLab
测试 SSH 连接
使用 SSH 克隆仓库

💡 完成后,你的 Git 连接将更加安全,且无需每次输入密码!🚀

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

相关文章:

  • 深入理解AOP:面向切面编程的核心概念与实战应用
  • ctfshow VIP题目限免 robots后台泄露
  • 规则引擎Drools
  • 【KMP】P10915 [蓝桥杯 2024 国 B] 最长回文前后缀|普及+
  • RHCSA Linux 系统 文件的查看、复制、移动、重命名
  • 阿里巴巴langengine二次开发大模型平台
  • 压测工具开发实战篇(二)——构建侧边栏以及设置图标字体
  • Linux(十二)信号
  • SQL注入重新学习
  • OpenEuler/CentOS一键部署OpenGauss数据库教程(脚本+视频)
  • openmv用了4个了,烧了2个,质量堪忧啊
  • 基于FPGA的特定序列检测器verilog实现,包含testbench和开发板硬件测试
  • 鸿蒙 ——选择相册图片保存到应用
  • 第11/100节:三点估算
  • Muduo网络库实现 [十五] - HttpContext模块
  • 传统开发者视角:智能合约与区块链数据库探秘
  • 实操(进程状态,R/S/D/T/t/X/Z)Linux
  • im即时通讯支持红包收发分销功能,带内嵌web页面,已经测试完美运行
  • 二级索引详解
  • 从基础算力协作到超智融合,超算互联网助力大语言模型研习
  • C++学习笔记之 模板|函数模板|类模板
  • 嵌入式学习笔记——ARM-中断与异常
  • R5周:天气预测
  • linux 进程/线程设置核亲和性
  • MySQL统计信息
  • JS dom修改元素的style样式属性
  • 删除Linux服务器上多余的系统启动项,并重装Ubuntu系统
  • Java 连接 WebSocket 入门教程
  • 【Web 服务器】的工作原理
  • 第十八节课:Python编程基础复习