首先,为何要配置
SSH Key
?从Git
远程仓库clone
代码的方式有两种,一种是Https
,另一种是SSH
。如果使用Https
方式,不需要任何配置,但是当你clone
下来后会发现,每次commit
提交代码,都需要你输入Git
远程仓库的密码(使用终端操作会这样,有些Git
管理客户端可能不会),这样就极大的影响了我们的工作效率。这时候就需要使用SSH
方式了,使用这种方式就不再需要每次都输入密码这么麻烦了,但是需要配置SSH Key
,配置方法请看下面。
1. 查看是否已经生成过 SSH Key
打开终端,输入以下命令:
ls ~/.ssh
如果如下图显示有 id_rsa
和 id_rsa.pub
这两个文件,就表示已经生成过,可以直接跳过 生成 SSH Key
这一步。
2. 生成 SSH Key
如果上一步验证没有生成过 SSH Key
的话,就输入以下命令来生成 SSH Key
:
/* 下面邮箱改成你自己的个人邮箱就行 */
ssh-keygen -t rsa -C "292710547@qq.com"
第一次生成的话,直接一路回车,不需要输入密码。不是第一次生成的话,会提示 overwrite (y/n)?
问你是否覆盖旧的 SSH Key
,直接填 y
,然后一直回车就行了,出现如下图就代表 SSH Key
已经生成。
生成以后,~/.ssh
路径下会多出 id_rsa
和 id_rsa.pub
这两个文件, id_rsa
中存的是私钥, id_rsa.pub
中存的是公钥。
3. 将私钥添加到 ssh-agent
- 输入以下命令打开
ssh-agent
:
eval "$(ssh-agent -s)"
- 输入以下命令将私钥添加到
ssh-agent
:
ssh-add ~/.ssh/id_rsa
4. 将公钥添加到远程仓库
以 GitHub
为例,使用文本编辑器打开 ~/.ssh
路径下 id_rsa.pub
这个文件,将里面的公钥复制,然后打开 GitHub
的个人设置,如下图将公钥添加即可。
注意: ~/.ssh
这个文件夹是默认隐藏的,如果找不到的话可以使用以下命令,直接复制 id_rsa.pub
中的内容。
/* macOS 系统 */
pbcopy < ~/.ssh/id_rsa.pub
/* windows 系统 */
clip < ~/.ssh/id_rsa.pub
/* Linux 系统 */
sudo apt-get install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub
添加完 SSH Key
以后,你就可以开始使用 SSH
方式 clone
代码了,之后 commit
提交代码再也不用输入密码了,但是如果你之前代码是用 Https
方式 clone
下来的,需要用 SSH
方式重新 clone
一下,或者修改 .git
文件夹下 config
中的 url
才行,如何修改我就不说了,嫌麻烦就直接重新 clone
吧。
具体方法就是这样,并不麻烦,一般来说一台电脑只需要生成一次
SSH Key
就行了,不同的Git
远程仓库都添加这同一个SSH Key
就行了,有什么问题或者建议可以提出来。
将来的你,一定会感激现在拼命的自己,愿自己与读者的开发之路无限美好。