Linux 系统上配置 GitHub 账号并克隆私有仓库

在 Linux 系统上配置 GitHub 账号并克隆私有仓库,通常需要以下几个步骤:


一、前提条件

  1. 拥有一个 GitHub 账号
  2. 拥有要克隆的私有仓库的访问权限(你是该仓库的协作者,或属于有权限的组织)
  3. 本地已安装 Git

你可以使用以下命令检查是否已安装 Git:

bash 复制代码
git --version

如果未安装,可以使用包管理器安装,例如在 Ubuntu/Debian 上:

bash 复制代码
sudo apt update
sudo apt install git

在 CentOS/RHEL 上:

bash 复制代码
sudo yum install git

二、配置 Git 全局用户信息(可选但推荐)

为了标识你是谁,建议先配置全局用户名和邮箱(通常是你在 GitHub 上注册的邮箱):

bash 复制代码
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub注册邮箱"

你可以验证配置是否成功:

bash 复制代码
git config --global --list

注意:这个配置是可选的,但推荐设置,尤其是你要提交代码时。


三、配置 SSH 密钥(推荐方式,用于免密克隆私有仓库)

1. 检查是否已有 SSH 密钥

bash 复制代码
ls -al ~/.ssh

如果你看到类似 id_rsaid_rsa.pub 的文件,说明你已经有一个 SSH 密钥对。

如果没有,可以继续创建。


2. 生成新的 SSH 密钥(如果还没有)

运行以下命令生成 SSH 密钥(默认保存为 ~/.ssh/id_rsa~/.ssh/id_rsa.pub,你可以按回车使用默认路径):

bash 复制代码
ssh-keygen -t ed25519 -C "你的GitHub注册邮箱"

推荐使用 ed25519 算法,也可以使用 rsassh-keygen -t rsa -b 4096 -C "你的GitHub注册邮箱"

系统可能会提示你输入保存路径和密码(passphrase),可以直接回车使用默认值或设置你自己的密码。


3. 将 SSH 公钥添加到 GitHub

a. 查看公钥内容
bash 复制代码
cat ~/.ssh/id_ed25519.pub

或者如果你用的是 rsa:

bash 复制代码
cat ~/.ssh/id_rsa.pub

你会看到一串以 ssh-ed25519ssh-rsa 开头的内容,这就是你的 公钥

b. 添加公钥到 GitHub
  1. 登录 https://github.com
  2. 点击右上角头像 → Settings
  3. 左侧菜单选择 SSH and GPG keys
  4. 点击 New SSH key
    • Title: 自定义一个名称,比如 "My Linux PC"
    • Key type: 保持默认 SSH
    • Key : 将上一步 cat 出来的公钥内容粘贴到这里
  5. 点击 Add SSH key

4. 测试 SSH 连接

运行以下命令测试是否成功连接到 GitHub:

bash 复制代码
ssh -T git@github.com

你可能会看到类似如下的提示:

The authenticity of host 'github.com (IP)' can't be established.

...

Are you sure you want to continue connecting (yes/no/[fingerprint])? 输入 yes

然后你应该会看到:

Hi 你的用户名!You've successfully authenticated, but GitHub does not provide shell access.

🎉 恭喜,你的 SSH 密钥已经配置成功,可以免密访问 GitHub 了!


四、使用 SSH 方式克隆私有仓库

假设你有一个私有仓库,其 SSH 地址类似于:

复制代码
git@github.com:用户名/仓库名.git

例如:

复制代码
git@github.com:octocat/private-repo.git

你可以通过以下命令克隆:

bash 复制代码
git clone git@github.com:用户名/仓库名.git

系统不会要求你输入用户名和密码,因为已经通过 SSH 密钥认证。

如果你之前尝试过使用 HTTPS 克隆私有仓库,可能会被要求输入用户名和 Personal Access Token(PAT),而使用 SSH 更加方便且安全。


五、(备选)使用 HTTPS 方式克隆(需要 Personal Access Token)

如果你不想用 SSH,也可以使用 HTTPS 方式克隆私有仓库,但需要:

  1. 使用 Personal Access Token (PAT) 代替密码(GitHub 已不再支持直接使用账户密码克隆私有仓库)
  2. 你需要先在 GitHub 上生成一个 PAT,并赋予相应的权限(如 repo)

1. 生成 Personal Access Token

  • 登录 GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token
  • 选择合适的权限,至少勾选 repo
  • 生成后 务必保存好这个 Token,因为它只会显示一次

2. 使用 HTTPS 克隆并输入 Token

bash 复制代码
git clone https://github.com/用户名/仓库名.git

当 Git 提示你输入用户名和密码时:

  • Username: 你的 GitHub 用户名
  • Password : 你生成的 Personal Access Token

⚠️ 注意:不要把 Token 泄露给他人,也不要保存在明文文件中。


总结推荐方式 ✅

方式 是否需要密码/Token 安全性 易用性 推荐度
SSH 否(使用密钥) ⭐⭐⭐⭐⭐
HTTPS + PAT 是(需 Token) 中高 ⭐⭐⭐

👉 推荐使用 SSH 方式,只需配置一次 SSH 密钥,之后可以方便、安全地克隆和操作私有仓库,无需每次输入密码。


六、附加:配置 SSH Config(可选,更规范管理多个 GitHub 账号)

如果你有多个 GitHub 账号(比如个人 + 公司),可以为它们配置不同的 SSH key 并在 ~/.ssh/config 文件中管理,这里不再赘述,如你感兴趣我可以继续介绍。


相关推荐
2301_800050991 小时前
DNS 服务器
linux·运维·笔记
Lin_Aries_04211 小时前
容器化简单的 Java 应用程序
java·linux·运维·开发语言·docker·容器·rpc
SELSL1 小时前
SQLite3的API调用实战例子
linux·数据库·c++·sqlite3·sqlite实战
小牛马爱写博客2 小时前
DNS 服务器与 DHCP 服务器详解及配置指南
linux·运维·服务器·dns·dhcp
维尔切2 小时前
HAProxy 负载均衡器
linux·运维·数据库·负载均衡
什么半岛铁盒2 小时前
C++项目:仿muduo库高并发服务器-------Channel模块实现
linux·服务器·数据库·c++·mysql·ubuntu
小白银子2 小时前
零基础从头教学Linux(Day 42)
linux·运维·服务器·网络·nginx
小和尚同志2 小时前
使用 Certimate 实现自动续签 SSL 证书
开源·github·自动化运维
望获linux2 小时前
【Linux基础知识系列:第一百四十篇】理解SELinux与系统安全
linux·运维·服务器·数据库·chrome·macos
趙卋傑3 小时前
项目发布部署
linux·服务器·后端·web