使用SSH协议,您可以连接和验证远程服务器和服务。您可以连接到GitHub,而无需在每次访问时提供用户名或密码,接下来教您怎么使用SSH密钥。

开始之前

1
2
3
4
5
1. 检查现有SSH密钥后,可以生成用于身份验证的新SSH密钥,然后将其添加到ssh-agent。

2. 如果您还没有SSH密钥,则必须生成新的SSH密钥。 如果您不确定是否已有SSH密钥,请检查现有密钥。

3. 如果您不想在每次使用SSH密钥时重新输入密码,则可以将密钥添加到SSH代理,SSH代理管理您的SSH密钥并记住您的密码。

生成新的SSH密钥

1. 打开终端
2. 粘贴下面的文本,替换您的GitHub电子邮件地址。
1
$ ssh-keygen -t rsa -b 4096 -C“your_email@example.com”
这将使用提供的电子邮件作为标签创建一个新的ssh密钥。
1
> Generating public/private rsa key pair.
3. 当系统提示“输入要保存密钥的文件”时,按Enter键。这接受默认文件位置,如果不想覆盖,可以手动修改文件名。
1
> Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
4. 在提示符下,键入安全密码(可以直接回车不设置密码)。
1
2
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

将SSH密钥添加到ssh-agent

1
2
1. 在将新的SSH密钥添加到ssh-agent以管理密钥之前,您应该检查现有的SSH密钥并生成新的SSH密钥。
2. 将SSH密钥添加到代理时,请使用默认的macOS ssh-add命令,而不是macports,homebrew或其他外部源安装的应用程序。
1. 在后台启动ssh-agent。
1
2
$ eval "$(ssh-agent -s)"
> Agent pid 59566
2. 如果您使用的是macOS Sierra 10.12.2或更高版本,则需要修改〜/.ssh/config文件以自动将密钥加载到ssh-agent中并在密钥链中存储密码。
1
2
3
4
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
3. 将SSH私钥添加到ssh-agent并将密码存储在密钥链中。 如果使用其他名称创建密钥,或者要添加具有不同名称的现有密钥,请将命令中的id_rsa替换为私钥文件的名称。
1
$ ssh-add -K ~/.ssh/id_rsa

注意:-K选项是Apple的ssh-add标准版本,当你向ssh-agent添加ssh密钥时,它会将密码链存储在你的钥匙串中。如果你没有安装Apple的标准版本,则可能会收到错误消息。

4. 将SSH密钥添加到您的GitHub帐户。(不会的看下一篇文章)