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 "[email protected]"
  • 说明

    • -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 [email protected]
  • 首次连接会提示确认 GitHub 的指纹,输入 yes

  • 成功后会显示:

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

比如,如下:

6. 配置 Git 使用 SSH

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

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

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

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

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

相关推荐
何双新19 分钟前
第21讲、Odoo 18 配置机制详解
linux·python·开源
21号 120 分钟前
9.进程间通信
linux·运维·服务器
Gaoithe6 小时前
ubuntu 端口复用
linux·运维·ubuntu
德先生&赛先生6 小时前
Linux编程:1、文件编程
linux
程序猿小D7 小时前
第16节 Node.js 文件系统
linux·服务器·前端·node.js·编辑器·vim
多多*8 小时前
微服务网关SpringCloudGateway+SaToken鉴权
linux·开发语言·redis·python·sql·log4j·bootstrap
qianmoQ9 小时前
GitHub 趋势日报 (2025年05月31日)
github
IT界小黑的对象9 小时前
virtualBox部署ubuntu22.04虚拟机 NAT+host only 宿主机ping不通虚拟机
linux·运维·服务器
SilentCodeY9 小时前
Ubuntu 系统通过防火墙管控 Docker 容器
linux·安全·ubuntu·系统防火墙
油泼辣子多加10 小时前
2025年06月06日Github流行趋势
github