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尝试一下了。总体还说还是比较简单。

相关推荐
大侠锅锅2 小时前
第 19 篇:远程运维体系——指标、SSH、日志与 OTA 升级
运维·ssh
jsons14 小时前
autofs挂载
linux·服务器·网络
liwulin05065 小时前
【ollama】自定义结构化输出
linux·前端·数据库·ollama
gs801405 小时前
【实战】记一次 Linux 服务器入侵排查:grok-agent 后门木马深度剖析与彻底清理
linux·运维·服务器
dong_junshuai5 小时前
每天一个开源项目#46 World Monitor:6.6万星、56层地图的全球情报中枢
github
时空无限6 小时前
vllm 大模型启动缓存相关环境变量 export
linux·缓存·vllm
Echo_cy_6 小时前
基于ZYNQ-7000的Ethernet驱动配置
linux·驱动开发·嵌入式硬件·fpga开发·ethernet·zynq
ShineWinsu6 小时前
对于Linux:模版方法类的解析以及socket、TcpSocket的封装
linux·c++·面试·socket·模板方法模式·封装·tcpsocket
做个文艺程序员6 小时前
Linux第27篇:在Linux服务器部署本地大模型:Ollama+开源LLM实战
linux·服务器·开源·大模型·ollama
无足鸟ICT7 小时前
【RHCA+】查看变量
linux·运维·服务器