在 Linux 系统上配置 GitHub 账号并克隆私有仓库,通常需要以下几个步骤:
一、前提条件
- 拥有一个 GitHub 账号
- 拥有要克隆的私有仓库的访问权限(你是该仓库的协作者,或属于有权限的组织)
- 本地已安装 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_rsa
和 id_rsa.pub
的文件,说明你已经有一个 SSH 密钥对。
如果没有,可以继续创建。
2. 生成新的 SSH 密钥(如果还没有)
运行以下命令生成 SSH 密钥(默认保存为 ~/.ssh/id_rsa
和 ~/.ssh/id_rsa.pub
,你可以按回车使用默认路径):
bash
ssh-keygen -t ed25519 -C "你的GitHub注册邮箱"
推荐使用
ed25519
算法,也可以使用rsa
:ssh-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-ed25519
或 ssh-rsa
开头的内容,这就是你的 公钥。
b. 添加公钥到 GitHub
- 登录 https://github.com
- 点击右上角头像 → Settings
- 左侧菜单选择 SSH and GPG keys
- 点击 New SSH key
- Title: 自定义一个名称,比如 "My Linux PC"
- Key type: 保持默认 SSH
- Key : 将上一步
cat
出来的公钥内容粘贴到这里
- 点击 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 方式克隆私有仓库,但需要:
- 使用 Personal Access Token (PAT) 代替密码(GitHub 已不再支持直接使用账户密码克隆私有仓库)
- 你需要先在 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
文件中管理,这里不再赘述,如你感兴趣我可以继续介绍。