Git配置SSH key密钥

Git作为一种分布式的代码管理工具,在github上的代码管理都需要在本地配置对应的SSH key密钥,这样才能推送代码。

设置Git的username和email

1
2
$ git config --global user.name "YOUR USERNAME"
$ git config --global user.email "YOUR EMAIL"

生成SSH key密钥

查看创建密钥是否成功

1
2
查看是否创建密钥成功:
$ cd ~/.ssh

如果没有此文件,则没有创建密钥成功。

生成密钥

1
$ ssh-keygen -t rsa -C "YOUR EMAIL"

连续点击三下回车,这时密码为空。最后会出现id_rsa和id_rea.pub这两个文件。

在github中添加密钥

登陆github

1
www.github.com

使用你的Github账号和密码进行登录。

添加密钥

在右上角中找到设置,找到SSH keys,添加密钥。密钥位于本地的 id_rsa.pub 文件中。

本地测试添加是否成功

1
$ ssh git@github.com

返回successfully时,那么就添加成功了。


问题

配置好SSH 密钥后还需要登录账号和密码

根本原因

原因是你在克隆的时候使用的是 HTTPS 而不是 SSH,现在只需要更新 origin 为 SSH 格式即可。

1
2
3
4
# https 格式
https://github.com/用户名/仓库名.git
# ssh 格式
git@github.com:用户名/仓库名.git
解决办法
1
2
git remote remove origin
git remote add origin git@github.com:用户名/仓库名.git

等到再次进行 push 的时候实际上采用的就是 SSH 的方式进行推送。