如何配置多个 SSH Key

398 阅读2分钟

在 Github 上推送项目的时候,如果采用的是 Https 的方式,每次都需要输入账号密码,这是比较麻烦的方式,而如果采用 SSH Key 的方式,则可以避免每次输入。

概念

SSH Key 的配置是针对每个电脑,也就是我在某个电脑配置了 SSH Key,某天突然换了电脑,那就需要重新配置了 SSH Key 了。通俗点解释就是因为配置的时候是把当前电脑的公钥放到了你的 Github 账号下,相当于当前电脑和你的账号做了一个关联,你在这台主机上已经登录了你的账号,此时此刻 Github 认为是该账号主人在操作这台电脑。所以下次在使用 Git 的时候即使没有登录 Github,也能直接从本地推送代码到远程了。

配置 SSH Key

当然,在日常开发中,我们可能有 Github ,也有 Gitee 账号,那怎么配置多个 SSH Key 成为了一个关键。

为 Github 配置 SSH Key

生成 SSH Key

首先我们需要打开 Git Bash ,输入cd ~/.ssh进入到 .ssh目录,然后输入命令 ssh-keygen -t rsa -C "youemail@XXX.com" ,这里的 youemail@XXX.com 就是你 Github 的账号。

cd ~/.ssh

ssh-keygen -t rsa -C "youemail@XXX.com"

1654773789(1).png

这里不要直接回车,我们可以取个别名,更好的区分,如我这里取 id_rsa_github, 接着一路回车即可。

1654773936(1).png

出现如下界面,就代表成了,这时你可以看到 .ssh 目录下生成了 id_rsa_githubid_rsa_github.pub

接着获取 SSH Key 公钥 (id_rsa_github.pub) 并复制。

cat id_rsa_github.pub

image.png

Github 添加公钥

进入到 Setting

image.png

找到 SSH and GPG keys 添加 SSH Key,把刚才复制的内容粘贴上去保存即可

image.png

因为我们取了别名,所以需要在配置一下

Git Bash 上输入 vi config,接着写入以下内容

Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github

然后按 ESC + :wq 保存退出

然后输入命令 ssh -T git@github.com ,输入 yes ,出现如下所示即代表配置完成。

image.png

为 Gitee 配置 SSH Key

配置 GiteeSSH Key 的步骤与上面的基本一致,我们为 GiteeSSH Key 取个 id_rsa_gitee 的别名,接着直接跳到为 Gitee 添加公钥的步骤

image.png

添加好 SSH key 后,在 Git Bash 上输入 vi config,按下 i 键既可以进入编辑状态,接着写入以下内容


Host gitee.com
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_gitee

然后按 ESC + :wq 保存退出,到这里,我们也完成了对 GiteeSSH Key 的配置了。

结语

到这里,我们就完成了多个 SSH Key 的配置,如果还有其他仓库需要配置 SSH Key ,也是按照同样的步骤来即可。