git通过ssh进行链接
我们通过传统的http/https
链接从仓库中拉取推送个人代码时需要输入账号密码验证后才能进行操作。当然git
仓库也提供了一种免密操作的方式,就是通过ssh
来进行验证。
以下我是基于windows
电脑进行的ssh
配置。
生成ssh密钥
首先我们需要在电脑上打开一个控制台,输入以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
根据引导创建密钥,我们可以在用户目录的.ssh
文件下中找到创建的公钥和私钥。
一般用户名目录结构(C:\Users\<你的用户名>\.ssh
):
上图中的id_rsa
是私钥,id_rsa.pub
是公钥。
添加公钥
然后我们需要将公钥添加到你的git仓库中,这里我以github
为例:
打开github
,进入设置,点击如图箭头位置:
添加之前生成的公钥,title
可以随便输:
之后就可以通过ssh
链接接直接拉取代码了:
设置ssh-agent
如果你生成密钥的时候设置了密码,那你通过ssh
方式拉取代码仍然需要输入密码,这不就回到以前的方式了吗。当然你生成密钥的时候没有设置密码接下来的内容就不用看了。
为了解决每次通过ssh
都要输入密码的问题,我们就可以设置ssh-agent
代理。我们只需要第一次输入密码后,后续的操作就不用再输入密码了。
首先需要确保的你的ssh-agent
服务已经启动,这个服务可以手动的方式去启动具体操作步骤如下:
1.找到计算机管理
2.点击服务和应用程序
点击去之后再点击服务,进入到服务列表,然后自行找到ssh-agent
服务,如下图:
设置为开机自启,并启动。
3.重新打开控制台
添加自己的密钥
我们打开服务后就可以使用ssh-add
来添加自己的密钥,命令如下:
# 路径记得改成自己的私钥位置
ssh-add ~/.ssh/id_ed25519
修改git配置
git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe
之后就可以愉快的进行git
操作了。
注意:
- 不同的终端可能有些命令不能使用,这个需要自行查阅解决。
- 关机后再开机原则上我们是需要重复
ssh-agent
的操作才能实现一次登录后续免密的效果,因为对ssh-agent
研究不是很透彻,可能也不需要这个重复操作。 ssh-agent
更多是适用于服务器,毕竟服务器不经常开关机,所以你嫌麻烦可以在创建ssh
的时候不设置密码。- 如果你配置好后打开终端后还是提示需要输入密码可以输入命令
start-ssh-agent
,来验证你的配置是否有效。还可以通过命令ssh-add -l
来查看你添加的密钥。
10 comments
哈哈
字色有点淡,看着有点视觉疲劳
我看着还好,不过这个主题可以高度定制
作者用的什么主题
handsome
老哥你不会叫张恒吧?
这都被你猜到了
Really? 要真的就同名同姓同前端了...
yes
牛的老哥, 我是从npm上面看到你的, 缘分呐, 加个微有时间可以交流交流哇~