一、使用SSH key认证连接GitHub
在使用VSCode连接GitHub时,可能会遇到需要输入用户名和密码的情况。然而,由于GitHub启用了两步验证等安全措施,输入用户名和密码登录GitHub后,仍然无法连接成功。这时候,我们可以使用SSH key认证方式连接GitHub。以下是具体步骤:
1、首先,在终端中输入以下命令,生成SSH key:
ssh-keygen -t rsa -b 4096 -C "youremail@example.com"
其中,youremail@example.com为你在GitHub上的邮箱地址,在GitHub仓库的设置中可以看到。
2、生成成功后,进入.ssh目录(Windows系统属于当前用户目录下的.ssh目录)下,可以看到两个文件:id_rsa和id_rsa.pub。后者就是我们需要填入GitHub的公钥。
3、在GitHub个人设置中添加公钥:
- 进入GitHub仓库,点击右上角头像,选择Settings/SSH and GPG keys,进入页面
- 点击New SSH Key,填写Title(随意),将id_rsa.pub文件中的内容复制到Key文本框中
- 点击Add SSH Key,保存公钥
4、配置VSCode连接GitHub:
- 打开VSCode,按下Ctrl+Shift+P,调出命令面板
- 输入“ssh open in remote”,选择“Remote-SSH: Open Configuration file…”,编辑配置文件
- 在文件中添加以下内容,保存并退出:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
5、重新打开VSCode,连接GitHub即可。
二、在GitHub上生成个人访问令牌
如果你使用SSH key认证方式连接GitHub仍然失败,还可以尝试使用个人访问令牌(Personal Access Token)进行连接,步骤如下:
1、在GitHub个人设置中生成个人访问令牌:
- 进入GitHub仓库,点击右上角头像,选择Settings/Developer settings/Personal access tokens,进入页面
- 点击Generate new token,填写Token description(随意),勾选repo权限,点击Generate token
- 注意:生成的Token只会显示一次,请复制保存
2、配置VSCode连接GitHub:
- 打开VSCode,按下Ctrl+Shift+P,调出命令面板
- 输入“Remote-SSH: Open Configuration file…”,编辑配置文件
- 在文件中添加以下内容,替换
为上一步中复制的Token,保存并退出:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_rsa
AddKeysToAgent yes
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa 2
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa 3
IdentityFile ~/.ssh/id_rsa 4
LogLevel verbose
ServerAliveInterval 120
ServerAliveCountMax 20
proxyCommand ssh -q -W %h:%p mybastion
UserAgent VSCodeSSHd
IdentityFile ~/.ssh/id_rsa
3、重新打开VSCode,连接GitHub即可。
三、检查网络连接是否正常
如果前两种方法都无法解决问题,我们也需要检查一下网络连接是否正常,步骤如下:
1、检查网络是否连接:
- 打开VSCode,按下Ctrl+Shift+P,调出命令面板
- 输入“Preferences: Open User Settings”,打开用户设置
- 搜索“http.proxy”,如果有值,则需要检查代理设置是否正确
2、检查防火墙设置:
- 如果使用Windows系统,需要检查Windows Defender防火墙是否开启
- 如果使用Mac系统,需要检查系统防火墙是否开启
3、使用命令行测试网络连接:
在终端中输入以下命令:
ping github.com
如果能够正常接收响应,则说明网络连接正常。