Linux平台下SSH 协议克隆Github远程仓库并配置密钥

目录

[注意:先提前配置好SSH密钥,然后再git clone](#注意:先提前配置好SSH密钥,然后再git clone)

[1. 检查现有 SSH 密钥](#1. 检查现有 SSH 密钥)

[2. 生成新的 SSH 密钥](#2. 生成新的 SSH 密钥)

[3. 将 SSH 密钥添加到 ssh-agent](#3. 将 SSH 密钥添加到 ssh-agent)

[4. 将公钥添加到 GitHub](#4. 将公钥添加到 GitHub)

[5. 测试 SSH 连接](#5. 测试 SSH 连接)

[6. 配置 Git 使用 SSH](#6. 配置 Git 使用 SSH)


注意:先提前配置好SSH密钥,然后再git clone

1. 检查现有 SSH 密钥

首先,检查是否已存在 SSH 密钥(默认存储在 ~/.ssh/ 目录下):

指令:

复制代码
ls -al ~/.ssh
  • 如果看到 id_rsaid_rsa.pub(或类似文件),说明已有密钥,可跳过生成步骤。

  • 如果没有或需要新的密钥,继续下一步。

2. 生成新的 SSH 密钥

运行以下命令生成密钥(推荐使用 ed25519 算法,安全性更高):

复制代码
ssh-keygen -t ed25519 -C "your_email@example.com"
  • 说明

    • -t ed25519:指定密钥类型(也支持 -t rsa -b 4096)。

    • -C "注释":可选注释,通常用邮箱标识。比如qq邮箱就是:qq号 + @qq.com

  • 提示

    • 按 Enter 接受默认存储路径(~/.ssh/id_ed25519)。

    • 设置密码(可选,增加安全性)。

3. 将 SSH 密钥添加到 ssh-agent

让系统管理密钥,避免重复输入密码:

复制代码
eval "$(ssh-agent -s)"   # 启动 ssh-agent
ssh-add ~/.ssh/id_ed25519
  • 如果密钥有密码,会提示输入一次。

4. 将公钥添加到 GitHub

  1. 复制公钥内容

    复制代码
    cat ~/.ssh/id_ed25519.pub

    全选输出内容(以 ssh-ed25519 开头,邮箱结尾)。

  2. 在 GitHub 中添加公钥

    • 登录 GitHub → 点击右上角头像 → SettingsSSH and GPG keysNew SSH key

    • Title :自定义名称(如 My Linux Laptop)。

    • Key type :保持默认 Authentication Key

    • Key:粘贴复制的公钥内容。

    • 点击 Add SSH key

5. 测试 SSH 连接

验证是否配置成功:

复制代码
ssh -T git@github.com
  • 首次连接会提示确认 GitHub 的指纹,输入 yes

  • 成功后会显示:

    复制代码
    Hi username! You've successfully authenticated...

比如,如下:

6. 配置 Git 使用 SSH

我们登录上自己的GitHub,复制自己的的 SSH 协议的本地仓库。

确保 Git 使用 SSH 协议而非 HTTPS:

然后回到自己的XShell,使用指令

复制代码
git clone [ur1] 
  • 之后克隆仓库时,自动使用 SSH 地址(如 git@github.com:user/repo.git)。

最后就可以,自己push尝试一下了。总体还说还是比较简单。

相关推荐
徐小夕18 分钟前
pxcharts-vue:一款专为 Vue3 打造的开源多维表格解决方案
前端·vue.js·github
Moment1 小时前
想要长期陪伴你的助理?先从部署一个 OpenClaw 开始 😍😍😍
前端·后端·github
我叫黑大帅1 小时前
前端如何利用 GitHub Actions 自动构建并发布到 GitHub Pages?
前端·面试·github
HelloGitHub3 小时前
这个年轻的开源项目,想让每个人都能拥有自己的专业级 AI 智能体
开源·github·agent
刘发财9 小时前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
sunny86517 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
ZengLiangYi1 天前
Git Tag + Semver + CI/CD:从打标签到自动发布的完整实践
github
徐小夕1 天前
JitWord Office预览引擎:如何用Vue3+Node.js打造丝滑的PDF/Excel/PPT嵌入方案
前端·vue.js·github
程序员鱼皮1 天前
离大谱,我竟然在 VS Code 里做了个视频!
github·aigc·ai编程