SSH-keygen 用法

SSH-keygen 用法

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

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

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

生成 SSH Key

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

1
ssh-keygen -t rsa -C "[email protected]"

代码参数含义:

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

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

1
2
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:

1
cat ~/.ssh/id_rsa.pub

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

或者直接通过命令复制:

1
clip < ~/.ssh/id_rsa.pub

将 SSH Key 添加到 Github

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

点击绿色按钮 New SSH key 按钮,进入 Add new SSH Key 页面(直接点这里的蓝色链接也可以)。把你复制的 SSH key 粘贴到 key 所对应的输入框中,记得 SSH key 代码的前后不要留有空格或者回车。并在上面的 Title 里给这个密钥起一个别名。

测试 SSH Key

使用这个命令:

1
ssh -T [email protected]

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

1
2
3
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 的时候设置了密码,接下来就会提示你输入密码:

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

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

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

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

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

如何生成多个 SSH Key

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

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

小岛秀儿

发布于

2024-04-20

更新于

2024-03-20

许可协议

评论