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_rsa 和 id_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 → 点击右上角头像 → Settings → SSH and GPG keys → New 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尝试一下了。总体还说还是比较简单。

相关推荐
SoStraw7 分钟前
没有公网IP怎么远程SSH?设备只装 p2pssh-server,File2File 一键连回去
ssh·内网穿透·远程ssh·webrpc·无公网ip·file2file·p2pssh
JYCJ_26 分钟前
星愿池·成长档案
github
Brilliantwxx31 分钟前
【Linux】IO(上)全篇:文件本质、C 接口、系统调用与文件描述符
linux·运维·服务器·c语言
承渊政道32 分钟前
Linux网络学习【深入理解应用层HTTP协议、Cookie与Session机制及HTTPS协议原理】
linux·网络·学习·http·cookie·session
北风toto32 分钟前
Linux 服务器通过 tgz 离线部署 Docker
linux·服务器·docker
重生之小比特36 分钟前
【Linux系统】13 基础IO(上)
linux·运维·服务器
CCCCCCCCharlie38 分钟前
从0到1:一个字节的磁盘之旅
linux·开发语言·c++
运维小斌1 小时前
麒麟 V10 ARM64 离线部署 OceanBase:8 步实施手册
linux·数据库·oceanbase·麒麟
着迷不白1 小时前
生产环境标准的Linux系统安装到服务器
linux·云计算
u1301301 小时前
GitHub 热榜项目:日榜(2026-10-19)
人工智能·github