Mac端生成SSH key

共 1961字,需浏览 4分钟

 ·

2020-12-20 09:23

把 Hexo 静态网页上传到 GitHub 上需要用到。新手可以完全按照下面步骤进行。

检查是否之前有生成 SSH key

在生成 SSH 密钥之前,您可以检查是否有任何现有的SSH密钥。所以开发终端,在终端查询:

ls -al ~/.ssh
# 列出.ssh目录中的文件(如果存在的话)

检查目录列表以查看是否已拥有公共 SSH 密钥。如果没有生成,会提示:No such file or directory。如果已经存在,会显示 id_rsa 和 id_rsa.pub。

生成 SSH key

输入下面的命令,记得替换 GitHub 电子邮件地址。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# "your_email@example.com"为示例邮箱,此处应填写为你在 GitHub 上注册的邮箱。

这将使用提供的电子邮件作为标签创建一个新的ssh密钥。

Generating public/private rsa key pair.

当系统提示您“输入要保存密钥的文件”时,按 Enter 键使用默认文件位置。

Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

在提示符下,键入安全密码。可以连续Enter,不设置密码。

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

成功后,终端显示

Your identification has been saved in /Users/huanglong/.ssh/id_rsa.
Your public key has been saved in /Users/huanglong/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:loN81ZNOrs huangdalu@yeah.net
The key's randomart image is:
+---[RSA 4096]----+
|     ..          |
|     ... .       |
|  .. .o +        |
|.o ++  B .       |
|o.o+=.o S        |
|.oo++*.o         |
|oo=.+.+..        |
|=+.+o..E         |
|o*+ o*+.o        |
+----[SHA256]-----+

将SSH密钥添加到ssh-agent

在后台启动 ssh-agent

eval "$(ssh-agent -s)"
> Agent pid 59566

在终端输入命令:

ssh-add -K ~/.ssh/id_rsa

如果设置密码,此时会要求输入 passphrase,输入上面设置的密码就行。

添加 SSH key 到 GitHub

点击 GitHub 个人资料的设置操作。侧边栏找到导航“SSH and GPG keys”

单击“ New SSH key”

在“Title”字段中添加描述性标签,Key 字段中粘贴复制的 id_rsa.pub 内容。最后点击“Add SSH key”。最后 GitHub 需要弹窗确认密码就行。

如何检测SSH key

在终端输入命令:

ssh git@github.com

会出现如下提示:

The authenticity of host ‘github.com (13.250.177.223)’ can’t be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes

验证 SSH key 是否有权限访问 你的 GitHub,输入“yes”,成功会显示以下信息:

Hi you name! You’ve successfully authenticated, but GitHub does not provide shell access.
浏览 44
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报