SSH ( Secure Shell)是一种安全协议,在你的电脑与 GitHub 服务器进行通信时,我们使用 SSH 密钥(SSH Keys)认证的方式来保证通信安全。
SSH 密钥的创建需要在终端(命令行)环境下进行,我们首先进入命令行环境。通常在 Mac OS X 和 Linux 平台下我们使用终端工具(Terminal),在 Windows 平台中,可以使用 Git Bash 工具。
进入命令行环境后,我们执行以下操作来创建 SSH 密钥
1. 进入 SSH 目录
|
|
如果还没有 /.ssh 目录,可以手工创建一个 mkdir /.ssh,之后再通过 cd /.ssh 进入 SSH 目录
可以通过 ls 命令查看 SSH 目录下的文件,来确认你是否已经生成过 SSH 密钥;如果 SSH 目录为空,我们开始第二步,生成 SSH 密钥;如果存在 id_rsa.pub 这个文件,说明你之前生成过 SSH 密钥,可以跳过第二步,直接进行密钥的获取。
2. 生成 SSH 密钥
我们通过下面的命令生成密钥,请将命令中的 YOUR_EMAIL@YOUREMAIL.COM 替换为你自己的 Email 地址。
|
|
在 SSH 生成过程中会出现以下信息,按屏幕的提示操作即可;当提示Enter passphrase ( empty for no passphrase ) : 时,可以直接按两次回车键输入一个空的 passphrase;也可以选择输入一个 passphrase 口令,如果此时你输入了一个 passphrase,请牢记,之后每次提交时都需要输入这个口令来确认。
|
|
`
一般情况下,在命令行中输入密码、口令一类的信息时是没有信息回显的。在我们这一步的操作中,输入 passphrase 口令时,命令行界面上不会随着键盘敲入密码而有什么反馈。
3. 获取 SSH 公钥信息
|
|
SSH 秘钥生成结束后,你可以在 SSH 目录下看到私钥 id_rsa 和公钥 id_rsa.pub 这两个文件,不要把私钥文件 id_rsa 的信息透露给任何人。我们可以通过文本编辑器或 cat 命令来查看 id_rsa.pub 公钥信息。
通过编辑器。使用你熟悉的文本编辑器,比如 记事本、Sublime Text 等软件打开 id_rsa.pub ,复制里面的所有内容以备下一步使用。
通过 cat命令。在命令行中敲入 **cat id_rsa.pub** ,回车执行后命令行界面中会显示 id_rsa.pub 文件里的内容,复制后在下一步使用。
5. 测试 GitHub SSH 连接
完成上面的操作后,可以通过下面的命令来测试一下是否可以连接服务器。
1
ssh -T git@github.com
如果你操作的电脑是第一次与 GitHub 建立连接,会出现以下警告,
The authenticity of host 'github.com (50.116.2.223)' can't be established.
# RSA key fingerprint is 84:9e:c9:8e:7f:36:28:08:7e:13:bf:43:12:74:11:4e.
# Are you sure you want to continue connecting (yes/no)?
输入 yes 后回车。此时,如果你在生成 SSH 密钥时设置了 passphrase 口令,会提示你输入口令,输入后回车即可。
最后,如果你看到以下信息,说明连接成功。
Hi USERNAME! You've successfully authenticated, but GitHub does not provide shell access.