SSH 公钥管理
在 GitCode 中,您可以通过 SSH(安全外壳协议)公钥实现安全的代码托管和提交操作。SSH 公钥提供了以下优势:
- 便捷访问:使用 SSH 公钥后,您无需每次操作都输入密码,访问 GitCode 存储库更加高效。
- 访问控制:您可以将 SSH 公钥与特定存储库关联,灵活管理项目访问权限。
- SSH 公钥与私钥成对使用,请妥善保管私钥,避免泄露。
- 如果您在多个设备上使用 GitCode,建议为每个设备生成独立的 SSH 密钥对。
SSH 密钥类型
GitCode 支持以下两类 SSH 密钥:
ED25519 SSH 密钥
- 安全性更高:根据 Practical Cryptography With Go 的描述,ED25519 密钥比 RSA 密钥更安全。
- 广泛支持:自 2014 年 OpenSSH 6.5 引入 ED25519 后,所有主流操作系统均已支持该密钥类型。
RSA SSH 密钥
- 密钥长度建议:如果使用 RSA 密钥,建议密钥长度为 4096 位(至少 2048 位),以确保安全性。
- 兼容性:默认情况下,
ssh-keygen命令生成的 RSA 密钥为 1024 位,建议升级至更高强度。 - 安全性提示:在 OpenSSH 7.8 之前,RSA 密钥的默认指纹基于 MD5,存在安全风险。如果您仍在使用旧版 RSA 密钥,建议升级至更安全的加密格式。
生成 SSH 密钥
生成 ED25519 SSH 密钥
-
打开终端
- 在 Linux/macOS 上,打开系统自带的终端
- 在 Windows 上,可以使用 Cmd、Power Shell 或 Git Bash
-
输入生成密钥的命令
运行以下命令,将
your_email@example.com替换为您的邮箱:ssh-keygen -t ed25519 -C "your_email@example.com"-t ed25519:指定密钥类型为 ED25519。-C "your_email@example.com":添加注释,通常使用您的邮箱地址,便于识别密钥。
-
选择密钥保存位置
命令执行后,您将看到以下提示:
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/user/.ssh/id_ed25519):- 按 Enter 键接受默认位置(
~/.ssh/id_ed25519)。 - 如果需要自定义保存路径,可以输入新的路径,例如:
~/.ssh/my_custom_key。
- 按 Enter 键接受默认位置(
-
设置密钥密码(可选但推荐)
接下来,系统会提示您设置密码:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:- 输入一个安全的密码以保护您的私钥(建议使用强密码)。
- 如果不需要密码,直接按 Enter 键跳过。
提示设置密码后,每次使用 SSH 密钥时都需要输入该密码。这可以防止私钥被未经授权的人使用。
-
确认密钥生成成功
如果操作成功,您将看到类似以下的输出:
Your identification has been saved in /Users/user/.ssh/id_ed25519
Your public key has been saved in /Users/user/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:x8gFyNRIg5UsIhqYOnsDYhyxXJNhwBU2WcLs11b421g your_email@example.com
The key's randomart image is:
+--[ED25519 256]--+
|o+*@*O==o |
|*o*=* *o.o |
|+=o. .. o . |
|*o . . + = E |
|o+ . . S B |
|. o + . |
| . . |
| |
| |
+----[SHA256]-----+ -
查看生成的密钥
您可以通过以下命令查看生成的公钥内容:
cat ~/.ssh/id_ed25519.pub您将得到类似下方的输出:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJx8z8z8z8z8z8z8z8z8z8z8z8z8z8z8z8z8z8z8z your_email@example.com将此公钥内容复制,以便后续添加到 GitCode。

生成 RSA SSH 密钥
RSA 是一种广泛支持的 SSH 密钥类型,适用于大多数场景。为了确保安全性,建议使用 4096 位 的密钥长度(至少 2048 位)。
-
输入生成密钥的命令
运行以下命令,将
your_email@example.com替换为您的邮箱地址:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"-
-t rsa:指定密钥类型为 RSA。 -
-b 4096:指定密钥长度为 4096 位(推荐)。 -
-C "your_email@example.com":添加注释,通常使用您的邮箱地址,便于识别密钥。
-
-
选择密钥保存位置
命令执行后,您将看到以下提示:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):-
按 Enter 键接受默认位置(
~/.ssh/id_rsa) -
如果需要自定义保存路径,可以输入新的路径,例如:
~/.ssh/my_custom_key
-
-
设置密钥密码(可选但推荐)
接下来,系统会提示您设置密码:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:-
输入一个安全的密码以保护您的私钥(建议使用强密码)
-
如果不需要密码,直接按 Enter 键跳过
密码的作用设置密码后,每次使用 SSH 密钥时都需要输入该密码。这可以防止私钥被未经授权的人使用。
-
-
确认密钥生成成功
如果操作成功,您将看到类似以下的输出:
Your identification has been saved in /Users/.ssh/id_rsa
Your public key has been saved in /Users/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:Ub+LOdZzqYTdq5t+mDAErdkTtzUbnB8VPXJs/cTBDPA your_email@example.com
The key's randomart image is:
+---[RSA 4096]----+
| ....o==B|
| ..o.o.*O=|
| .= o.E+*+|
| o.+ ... o|
| S. .. |
| o* o . |
| *o*o+ |
| . oo=.. |
| .*+. |
+----[SHA256]-----+-
私钥:
~/.ssh/id_rsa(切勿泄露)。 -
公钥:
~/.ssh/id_rsa.pub(可上传到 GitCode)。
-
-
查看生成的密钥
您可以通过以下命令查看生成的公钥内容:
cat ~/.ssh/id_rsa.pub输出示例:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArV1... your_email@example.com将此公钥内容复制,以便后续添加到 GitCode。
OpenSSH 6.5 ~ 7.8 的 RSA 密钥
在 OpenSSH 7.8 之前,RSA 密钥的默认指纹基于 MD5,存在安全风险。如果您使用的是 OpenSSH 6.5 至 7.8 版本,建议采取以下措施:
-
升级现有 RSA 密钥
如果您已有 RSA 密钥,可以通过以下命令将其升级为更安全的 OpenSSH 格式:
ssh-keygen -o -f ~/.ssh/id_rsa -
生成新的 RSA 密钥
如果您需要生成新的 RSA 密钥,可以使用以下命令:
ssh-keygen -o -t rsa -b 4096 -C "your_email@example.com"-o:以更安全的 OpenSSH 格式保存私钥。
添加 SSH 公钥到 GitCode
现在,你可以将创建好的 SSH 密钥复制到你的 GitCode 帐户。以ED25519 SSH 密钥为例,你可以参考以下步骤:
-
复制 SSH 公钥内容
从保存 SSH 密钥的文件中复制你的 SSH 密钥的公钥,以下命令可以将 ED25519 的信息保存到指定操作系统的剪贴板中:
macOS
pbcopy < ~/.ssh/id_ed25519.pubLinux(需要 xclip 软件包)
xclip -sel clip < ~/.ssh/id_ed25519.pubWindows 上的 Git Bash
cat ~/.ssh/id_ed25519.pub | clip如果你使用的是 RSA 密钥,相应地替换即可
-
登录 GitCode,进入「个人设置」->「安全设置」->「SSH 公钥」
-
点击「+ SSH 公钥」
-
在“公钥名称”一栏中,为 公钥添加一个描述性名称
-
将复制的公钥内容粘贴到“公钥”文本框中
-
点击「新建」完成操作

如果你手动复制了公共 SSH 密钥,请确保复制了整个密钥,以ssh-ed25519 (或ssh-rsa )开头,并以你的电子邮件地址结尾。
测试 SSH 连接
要测试是否正确添加了 SSH 密钥,可以在终端中运行以下命令:
ssh -T git@gitcode.com
在你第一次通过 SSH 方式连接到 GitCode 的时候,将会询问你是否信任将要连接的 GitCode host 地址。当确认 yes 后,会将 GitCode 作为已知主机添加到受信任的 hosts 地址中:
The authenticity of host 'gitcode.com (121.36.6.22)' can't be established.
ECDSA key fingerprint is SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitcode.com' (ECDSA) to the list of known hosts.
一旦添加到已知主机列表中,将不再要求你再次验证 GitCode 主机的真实性。 再次运行以上命令时,你将只收到 Welcome to GitCode, [username] 信息。
如果未出现欢迎消息,则可以通过使用以下命令在详细模式下运行 ssh 来解决问题:
ssh -Tv git@gitcode.com