git添加私钥在bash中与github仓库同步(vs code整合gitbash)

2021年06月14日 22:42 0 点赞 1 评论 更新于 2025-11-21 21:35

使用GitHub的前提是需要进行网络代理设置,后续的软件升级、Git Bash与仓库同步等操作都需要网络代理。

为SSH配置id_rsa

如果在执行以下命令时出错:

$ ssh-add ~/.ssh/id_rsa
Could not open a connection to your authentication agent.

在Git Bash中执行如下命令,然后再执行其他步骤(注意:这里不是单引号,请正确复制):

$ eval `ssh-agent -s`
Agent pid 4696

这里的pid 4696是示例,你实际看到的会是一个不同的数字,这是正常现象。

在Git Bash中生成SSH Key

生成SSH Key,执行以下命令,过程中一直按回车键(请将example@qq.com替换为你自己用于GitHub的邮箱):

$ ssh-keygen -t rsa -C "example@qq.com"

添加SSH Key到SSH Agent

$ ssh-add ~/.ssh/id_rsa
Identity added: /c/Users/15623/.ssh/id_rsa (/c/Users/15623/.ssh/id_rsa)

复制SSH公钥

复制生成的id_rsa.pub文件中的内容,该文件通常位于C:\Users\你的用户名\.ssh路径下。

在GitHub网站上添加SSH公钥

打开你的GitHub网站上的账号设置,将复制的SSH公钥添加到相应位置。

测试SSH连接

在Git Bash中执行以下命令,若输出如下信息则说明连接成功:

$ ssh -T git@github.com
Hi XXXX! You've successfully authenticated, but GitHub does not provide shell access.

解决同步时的报错问题

SSL连接重置问题

在Git Bash中同步时可能会出现如下报错:

报错:OpenSSL SSL_connect: Connection was reset in connection to github.com:443

此时,在Git Bash中设置一下sslverify

$ git config --global http.sslVerify false

升级Git客户端

由于GitHub禁用了TLS v1.0和v1.1,需要将Windows中的Git客户端升级到最新版本:

$ git update-git-for-windows

查看与设置Git的全局代理

查看全局配置

$ git config --global -l

设置全局配置

在Git Bash中执行以下命令进行设置:

$ git config --global user.name "xxxname"
$ git config --global user.email "xxxx@taikr.com"
$ git config --global http.proxy 127.0.0.1:7890
$ git config --global https.proxy 127.0.0.1:7890

示例中的7890端口是代理软件的端口,你需要找到自己代理软件的端口并进行相应修改。

设置好后,查看全局配置应该会显示类似如下内容:

$ git config --global -l
user.name=xxx
user.email=xxxing@taikr.com
core.longpaths=true
remote.origin.url=https://github.com/roubingcode/xxxs.git
http.sslverify=false
http.proxy=127.0.0.1:10809
https.proxy=127.0.0.1:10809

使用Access Token进行同步

最后在Git Bash进行同步时,会弹出一个界面让你填写一个Access Token

创建Access Token

进入GitHub用户设置页面,点击最下方的Developer settings,然后选择Personal access tokens。创建Access Token时,若只需要进行基本同步操作,将repo部分勾选即可。生成Token后,将其填入相应位置,之后就可以正常进行同步操作了。