Git 使用 SSH

使用 SSH(Secure Shell)来连接和操作 Git 远程仓库能够提高安全性,同时也使得推送、拉取操作更加方便,避免每次输入用户名和密码。

以下是如何使用 SSH 连接 Git 的详细步骤:

1. 生成 SSH 密钥

首先,你需要生成一个 SSH 密钥对(公钥和私钥)。私钥保存在本地,而公钥上传到 Git 服务器。

在 Linux、macOS 或 Windows (通过 Git Bash) 上生成 SSH 密钥:
打开终端(或 Git Bash),然后运行以下命令:

1
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
1
2
3
-t rsa: 指定使用 RSA 算法。
-b 4096: 指定密钥长度为 4096 位(更安全)。
-C "your_email@example.com": 这是一个注释字段,通常用于标记这把密钥是谁的(例如,你的邮箱)。

系统会提示你输入文件保存路径,默认路径是 ~/.ssh/id_rsa,你可以按 Enter 直接使用默认路径。

之后,系统会提示你设置一个 passphrase(密码短语)。如果不需要密码短语,可以直接按 Enter 跳过。

2. 查看并复制公钥

生成 SSH 密钥后,你需要将公钥上传到 Git 服务器。公钥通常位于 ~/.ssh/id_rsa.pub 文件中。你可以使用以下命令查看并复制公钥:

1
cat ~/.ssh/id_rsa.pub

将输出的内容(通常是一长串以 ssh-rsa 开头的字符)复制下来。

3. 添加公钥到 Git 托管平台

在 GitHub 上添加 SSH 公钥:
登录 GitHub。
点击右上角的头像,选择 “Settings”。
在左侧菜单中,找到并点击 “SSH and GPG keys”。
点击 “New SSH key” 按钮。
将之前复制的公钥粘贴到 “Key” 输入框中,设置一个名称,然后点击 “Add SSH key”。

在 GitLab 上添加 SSH 公钥:
登录 GitLab。
点击右上角的头像,选择 “Preferences”。
在左侧菜单中,找到并点击 “SSH Keys”。
将公钥粘贴到 “Key” 输入框中,设置一个名称,然后点击 “Add key”。

4. 测试 SSH 连接

完成公钥添加后,使用以下命令测试与远程仓库的连接:

GitHub:

1
ssh -T git@github.com

GitLab:

1
ssh -T git@gitlab.com

如果成功,你应该看到类似以下的信息:

1
Hi username! You've successfully authenticated, but GitHub does not provide shell access.