# 通过 SSH 使用 Git

您可以使用 SSH（安全外壳协议）访问并写入 huggingface.co 上的仓库。通过 SSH 连接时，您使用本地机器上的私钥文件进行身份验证。

某些操作，例如推送更改或克隆私有仓库，要求您将 SSH 公钥上传到您在 huggingface.co 上的账户。

您可以使用现有的 SSH 密钥，也可以专门为 huggingface.co 生成一个新的密钥。

## 检查现有的 SSH 密钥

如果您已有 SSH 密钥，可以使用该密钥通过 SSH 对 Git 操作进行身份验证。

SSH 密钥通常位于 Mac 和 Linux 上的 `~/.ssh` 目录下，以及 Windows 上的 `C:\\Users\\<username>\\.ssh` 目录下。列出该目录下的文件，并查找以下形式的文件：

- id_rsa.pub
- id_ecdsa.pub
- id_ed25519.pub

这些文件包含您的 SSH 公钥。

如果 `~/.ssh` 目录下没有此类文件，您需要[生成新的密钥](#generating-a-new-ssh-keypair)。否则，您可以[将现有的 SSH 公钥添加到您的 huggingface.co 账户](#add-a-ssh-key-to-your-account)。

## 生成新的 SSH 密钥对

如果您的机器上没有任何 SSH 密钥，您可以使用 `ssh-keygen` 生成一个新的 SSH 密钥对（公钥 + 私钥）：

```
$ ssh-keygen -t ed25519 -C "your.email@example.co"
```

我们建议您在系统提示时输入密码短语。密码短语是额外的安全层：它是一个密码，每次您使用 SSH 密钥时都会提示您输入。

生成新的密钥后，使用 `ssh-add` 将其添加到您的 SSH 代理中：

```
$ ssh-add ~/.ssh/id_ed25519
```

如果你选择将 SSH 密钥存储在与默认位置不同的位置，则需要将 `~/.ssh/id_ed25519` 替换为你实际使用的文件位置。

## 将 SSH 密钥添加到您的账户

要通过 SSH 访问私有仓库，或通过 SSH 推送更改，您需要将 SSH 公钥添加到您的 huggingface.co 账户。您可以在[用户设置](https://huggingface.co/settings/keys)中管理您的 SSH 密钥。

要将 SSH 密钥添加到您的账户，请点击“Add SSH key”按钮。

然后，为该密钥输入一个名称（例如，“Personal computer”），并在下方区域中复制并粘贴您的 **public** SSH 密钥内容。该公钥位于您在前面步骤中找到或生成的 `~/.ssh/id_XXXX.pub` 文件中。

点击“Add key”，瞧！您已将 SSH 密钥添加到您的 huggingface.co 账户中。

> [!NOTE]
> 如果您所属的组织强制使用 [SSO](./security-sso-basic#access-tokens-and-ssh-keys)，请在拉取或推送其仓库之前，为您的 SSH 密钥进行授权：打开密钥旁边的菜单，点击 **Configure SSO**，然后点击该组织旁边的 **Authorize**。

## 测试您的 SSH 身份验证

将 SSH 密钥添加到您的 huggingface.co 账户后，您可以测试连接是否按预期正常工作。

在终端中运行：
```
$ ssh -T git@hf.co
```

如果您看到包含您用户名的消息，恭喜！一切顺利，您已准备好通过 SSH 使用 git。

否则，如果消息显示类似以下内容，请确保您的 SSH 密钥确实已被您的 SSH 代理使用。
```
Hi anonymous, welcome to Hugging Face.
```

## Hugging Face 的 SSH 密钥指纹

公钥指纹可用于验证与远程服务器的连接。

这些是 Hugging Face 的公钥指纹：

> SHA256:aBG5R7IomF4BSsx/h6tNAUVLhEkkaNGB8Sluyh/Q/qY (ECDSA) SHA256:skgQjK2+RuzvdmHr24IIAJ6uLWQs0TGtEUt3FtzqirQ (DSA - 已弃用) SHA256:dVjzGIdV7d6cwKIeZiCoRMa2gMvSKfGZAvHf4gMiMao (ED25519) SHA256:uqjYymysBGCXXiMVebB8L8RIuWbPSKGBxQQNhcT5a3Q (RSA)

您可以在 ~/.ssh/known_hosts 文件中添加以下 ssh 密钥条目，以避免手动验证 Hugging Face 主机：

```
hf.co ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDtPB+snz63eZvTrbMY2Qt39a6HYile89JOum55z3lhIqAqUHxLtXFd+q+ED8izQvyORFPSmFIaPw05rtXo37bm+ixL6wDmvWrHN74oUUWmtrv2MNCLHE5VDb3+Q6MJjjDVIoK5QZIuTStlq0cUbGGxQk7vFZZ2VXdTPqgPjw4hMV7MGp3RFY/+Wy8rIMRv+kRCIwSAOeuaLPT7FzL0zUMDwj/VRjlzC08+srTQHqfoh0RguZiXZQneZKmM75AFhoMbP5x4AW2bVoZam864DSGiEwL8R2jMiyXxL3OuicZteZqll0qfRlNopKnzoxS29eBbXTr++ILqYz1QFqaruUgqSi3MIC9sDYEqh2Q8UxP5+Hh97AnlgWDZC0IhojVmEPNAc7Y2d+ctQl4Bt91Ik4hVf9bU+tqMXgaTrTMXeTURSXRxJEm2zfKQVkqn3vS/zGVnkDS+2b2qlVtrgbGdU/we8Fux5uOAn/dq5GygW/DUlHFw412GtKYDFdWjt3nJCY8=
hf.co ssh-dss AAAAB3NzaC1kc3MAAACBAORXmoE8fn/UTweWy7tCYXZxigmODg71CIvs/haZQN6GYqg0scv8OFgeIQvBmIYMnKNJ7eoo5ZK+fk1yPv8aa9+8jfKXNJmMnObQVyObxFVzB51x8yvtHSSrL4J3z9EAGX9l9b+Fr2+VmVFZ7a90j2kYC+8WzQ9HaCYOlrALzz2VAAAAFQC0RGD5dE5Du2vKoyGsTaG/mO2E5QAAAIAHXRCMYdZij+BYGC9cYn5Oa6ZGW9rmGk98p1Xc4oW+O9E/kvu4pCimS9zZordLAwHHWwOUH6BBtPfdxZamYsBgO8KsXOWugqyXeFcFkEm3c1HK/ysllZ5kM36wI9CUWLedc2vj5JC+xb5CUzhVlGp+Xjn59rGSFiYzIGQC6pVkHgAAAIBve2DugKh3x8qq56sdOH4pVlEDe997ovEg3TUxPPIDMSCROSxSR85fa0aMpxqTndFMNPM81U/+ye4qQC/mr0dpFLBzGuum4u2dEpjQ7B2UyJL9qhs1Ubby5hJ8Z3bmHfOK9/hV8nhyN8gf5uGdrJw6yL0IXCOPr/VDWSUbFrsdeQ==
hf.co ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBL0wtM52yIjm8gRecBy2wRyEMqr8ulG0uewT/IQOGz5K0ZPTIy6GIGHsTi8UXBiEzEIznV3asIz2sS7SiQ311tU=
hf.co ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINJjhgtT9FOQrsVSarIoPVI1jFMh3VSHdKfdqp/O776s
```

