> ## Content Index
> Fetch the complete content index at: https://djdog.cc/llms.txt
> Use this file to discover other available public pages before exploring further.

# SSH-keygen 用法
- URL: https://djdog.cc/blog/2024/sshkey/
- Published: 2024-04-20T14:21:39.000Z
- Updated: 2024-10-22T04:00:00.000Z
- Description: 如何生成 SSH Key 并添加到 Github
- Author: DJDOG
- Tags: 开发工具, Git, #toc

SSH 是一种有较高安全性的远程登录方式。SSH Key 就是我们登录的密钥。在 Github 上管理项目时，如果是使用 https url 进行 `push` 操作，是需要验证用户名和密码的。而使用 SSH 在 `push` 的时候是不需要输入用户名的，如果配置SSH key的时候设置了密码，则需要输入密码的，否则直接是不需要输入密码的。

并且处于众所周知的原因，大陆的用户使用 https 方式管理仓库时，经常会出现无法访问的情况，而 SSH 这种方式就可以避免这个问题。

通过 SSH 克隆项目其实很简单，我们先要在本地先生成一个 SSH Key，然后把这个 Key 添加到 Github 就可以了。

## 生成 SSH Key

使用下面的命令，将示例邮箱何为自己用于注册 Github 时使用的邮箱。

```bash
ssh-keygen -t rsa -C "your_email@example.com"

```

代码参数含义：

- \-t 指定密钥类型，默认是 rsa，可以省略。
- \-C 设置注释文字，比如邮箱。
- \-f 指定密钥文件存储文件名。

以上代码省略了 -f 参数，因此，运行上面那条命令后会让你输入一个文件名，用于保存刚才生成的 SSH key 代码，如：

```bash
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

```

我这里选择不输入文件名，使用默认文件名（推荐）。那么就会生成 id\_rsa 和 id\_rsa.pub 两个文件。

接着又会提示你输入两次密码（该密码是你 `push` 文件的时候要输入的密码，而非 Github 密码），

如果这里不输入密码，直接按回车。那么 `push` 的时候就不需要输入密码了。

## 查看 SSH Key

如果在上面的步骤里没有这门指定密钥生成的位置，那么它就会生成在默认位置 `~/.ssh/` 下。

查看 SSH Key:

```bash
cat ~/.ssh/id_rsa.pub

```

得到一串以 `ssh-rsa` 开头的密钥，复制下来。

或者直接通过命令复制：

```bash
clip < ~/.ssh/id_rsa.pub

```

## 将 SSH Key 添加到 Github

登录 Github 账号，点击在主页右上角的头像进入 **Settings**，然后在左侧找到 **SSH and GPG keys** 点击进入。

点击绿色按钮 New SSH key 按钮，进入 [Add new SSH Key](https://github.com/settings/ssh/new?ref=djdog.cc) 页面（直接点这里的蓝色链接也可以）。把你复制的 SSH key 粘贴到 key 所对应的输入框中，记得 SSH key 代码的前后不要留有空格或者回车。并在上面的 Title 里给这个密钥起一个别名。

## 测试 SSH Key

使用这个命令：

```bash
ssh -T git@github.com

```

按下回车之后，会出现类似这样的警告：

```bash
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

```

这里输入 `yes` 并回车就好。

如果你创建 SSH key 的时候设置了密码，接下来就会提示你输入密码：

```bash
Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':

```

如果你密码输错了，会再要求你输入，知道对了为止。

注意：输入密码时如果出错了，使用删除键是无法更正的，只能重新输入。

密码正确后就能看到 Github 向你打招呼了：

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

```

## 如何生成多个 SSH Key

假如为 Github 生成一个 SSH，注意要使用不同的名称区分不同的 key，避免覆盖之前的文件。

```bash
ssh-keygen -t rsa -C "<您的 Github 邮箱>"
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa): <为了区分多个key，请填写自定义的名称>

```

[ 9 Situs SSH Tercepat dan Terbaik Gratis Rasa Premium](https://www.pinterest.com/pin/9-situs-ssh-tercepat-dan-terbaik-gratis-rasa-premium--682858362224734934/?ref=djdog.cc)