# 检查现有 SSH 密钥

在生成 SSH 密钥之前，您可以检查是否有任何现有的 SSH 密钥。

## 关于 SSH 密钥

可以使用 SSH 在存储库中执行 Git 操作。 有关详细信息，请参阅“[关于 SSH](/zh/authentication/connecting-to-github-with-ssh/about-ssh)”。

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

## 检查现有 SSH 密钥

在生成新的 SSH 密钥之前，应该检查本地计算机是否存在现有密钥。

> \[!NOTE]
> GitHub 通过在 2022 年 3 月 15 日删除旧的、不安全的密钥类型来提高安全性。
>
> 自该日期起，不再支持 DSA 密钥 (`ssh-dss`)。 无法在 GitHub 上向个人帐户添加新的 DSA 密钥。
>
> 2021 年 11 月 2 日之前带有 `valid_after` 的 RSA 密钥 (`ssh-rsa`) 可以继续使用任何签名算法。 在该日期之后生成的 RSA 密钥必须使用 SHA-2 签名算法。 一些较旧的客户端可能需要升级才能使用 SHA-2 签名。

1. 打开<span class="platform-mac">终端</span><span class="platform-linux">终端</span><span class="platform-windows">Git Bash</span>。

2. 输入 `ls -al ~/.ssh` 以查看是否存在现有的 SSH 密钥。

   ```shell
   $ ls -al ~/.ssh
   # Lists the files in your .ssh directory, if they exist
   ```

3. 检查目录列表以查看是否已经有 SSH 公钥。 默认情况下，GitHub 支持的公钥的文件名如下。
   * id\_rsa.pub

   * id\_ecdsa.pub

   * *id\_ed25519.pub*
   > \[!TIP]
   > 如果收到错误，指示 *\~/.ssh* 不存在，则表明默认位置中没有现有的 SSH 密钥对。 您可以在下一步中创建新的 SSH 密钥对。

4. 生成新的 SSH 密钥或上传现有密钥。
   * 如果您没有受支持的公钥和私钥对，或者不希望使用任何可用的密钥对，请生成新的 SSH 密钥。
   * 如果你看到已有的公钥和私钥对（例如 *id\_rsa.pub* 和 *id\_rsa*）并希望用于连接 GitHub，可以将密钥添加到 ssh-agent。

     有关生成新的 SSH 密钥或向 ssh-代理添加现有密钥的详细信息，请参阅“[生成新的 SSH 密钥并将其添加到 ssh-agent](/zh/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)”。