vscode 连接 GitHub

文章目录

  • [连接 GitHub](#连接 GitHub)
    • [一、通过 SSH 连接 github](#一、通过 SSH 连接 github)
    • [二、通过 HTTPS 连接 github](#二、通过 HTTPS 连接 github)

连接 GitHub

在 vscode 中首次使用 git push 命令时会要求输入 github 账户的 username 和 password,这种基本身份验证在 2021.8.13 以前还是可以的,之后的话,就会报如下错误:

一、通过 SSH 连接 github

参考内容:
使用 SSH 密钥对 git push 进行身份验证
vscode如何连接github/gitee远程仓库详细步骤(ssh+https)最全最详细

  1. 生成 SSH 密钥

    如果您已经有 SSH 密钥对,可以跳过这一步。否则,您可以在终端中输入以下命令来生成新的 SSH 密钥:

    bash 复制代码
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    your_email@example.com 换成 github 绑定的邮箱,在提示符下,按照默认设置一路回车即可。

    这将在 ~/.ssh 目录下生成 id_rsaid_rsa.pub 两个文件,其中 id_rsa 是私钥,id_rsa.pub 是公钥。

    提示中显示 SSH 密钥对存放的路径。一般默认位置 C:\Users\lenovo\.ssh.

  2. 添加公钥到 Git 账户

    id_rsa.pub 的公钥文件的所有内容复制,进入 github 设置里找到配置 ssh 的选项,如下图,其中,title 可以任意写,将复制的公钥文件粘贴进 Key 中,点击 Add SSH Key 就配置成功了。

    之后,若用其他多个电脑连接 github 提交版本记录,只需要再在电脑上生成 SSH 密钥添加进 github 即可。

  3. 在本地 Git 仓库中配置 SSH 协议

    如果之前连接远程仓库时使用的是 HTTPS,需要将 url 更换为 SSH,输入以下命令:

    bash 复制代码
    git remote set-url origin <url>

    将 url 替换为 git 仓库的 SSH URL,这将把 git 仓库的 URL 从 HTTPS 协议改为 SSH 协议。

    或者直接再次执行 git remote add origin git@github.com......

  4. 添加私钥到 ssh-agent
    如果频繁的要在多个github账号之间切换,还是别配置私钥到 ssh-agent 中了,否则更换账号推送时还是使用的原来的账号,还需要把私钥删除,比较麻烦。

    如果已经把私钥添加进去了,想要切换账号的话,1.更改git config --global user.name "your name" 'git config --global user.email "your email" .2.凭据管理器中删除GitHub地址的凭据。3.

    将 SSH 私钥(默认为 ~/.ssh/id_rsa)添加到 ssh-agent 中,以便在进行 SSH 连接时无需每次都输入私钥密码。

    当您尝试连接到需要身份验证的远程服务器时,ssh-agent 会自动使用保存在其中的私钥进行身份验证。如果您没有使用 ssh-add 命令将私钥添加到 ssh-agent 中,则需要在每次尝试连接时手动输入私钥密码。

    执行命令:

    bash 复制代码
    ssh-add ~/.ssh/id_rsa

    如果在执行 命令 ssh-add ~/.ssh/id_rsa,shell 报错

    bash 复制代码
    Could not open a connection to your authentication agent.

    这个错误提示通常表示 ssh-agent 没有启动或者没有在当前 shell 中正确地配置。需要进行以下操作:

    1. 确保已经安装了 ssh-agent

      可以在终端中输入以下命令检查:

      bash 复制代码
      ssh-agent -h

      如果系统已经安装了 ssh-agent,它会输出 ssh-agent 的帮助信息。否则,可以使用系统包管理器来安装它。

    2. ssh-agent已经启动,请使用以下命令检查它的进程 ID:

      bash 复制代码
      echo $SSH_AGENT_PID

      如果没有输出任何内容,说明 ssh-agent 没有在当前 shell 中正确地配置。

      可以使用以下命令启动 ssh-agent,并将其添加到当前 shell中:

      bash 复制代码
      eval "$(ssh-agent -s)"
    3. 添加私钥:

      一旦 ssh-agent 已经启动并添加到了当前 shell 中,请使用以下命令添加私钥到 ssh-agent 中:

      bash 复制代码
      ssh-add ~/.ssh/id_rsa

    操作截图:

    如果还是出现 "Could not open a connection to your authentication agent." 错误,请尝试重启 ssh-agent

    bash 复制代码
    ssh-agent -k
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa

    以上步骤应该能够解决这个问题。

  5. git push

    然后就可以 Git push 了,根据提示仔细应对就行。

二、通过 HTTPS 连接 github

参考内容:
github无法访问?vscode 无法使用github登录同步? 改 hosts 吧
修改Hosts文件解决网站访问问题
vscode github设置同步登录忍者network error错误处理
vscode 已登录账号情况下切换另一种方式登录(从微软到Github)

在 vscode 连接 github 时要求输入 username 和 password,也 无法使用 github 的帐号登录并同步 vscode,可以通过修改 hosts 文件来解决网站无法访问的问题,使用本地DNS记录直接进行跳转。

  1. 找到hosts 文件的存在位置:

    一般存在于 C:\Windows\System32\drivers\etc 中。

    把 hosts 文件复制一份到其他文件夹中打开,修改完成后再复制替换原来的 hosts 文件,否则会因为管理员权限问题无法保存。

  2. 无法访问github:

    首先我们需要知道 GitHub 的IP地址,直接使用 https://tool.lu/ip/ 查询到 github.com 的当前 ip 地址。

    如当前的 ip 地址为:

    bash 复制代码
    20.205.243.166 

    在电脑的 hosts 文件内添加 :

    bash 复制代码
    20.205.243.166 github.com

    注意:这个 ip 地址有可能发生变化,所以访问不了的时候,再去查一次 ip 重新添加一下。

  3. 无法使用 github 的帐号登录并同步 vscode :

    一样,先要去 https://www.ipaddress.com/ 查询到 vscode-auth.github.com 对应到的 ip ,我查询到了下面这些:

    同样添加到 hosts 内:

    bash 复制代码
    185.199.108.153  vscode-auth.github.com
    185.199.109.153  vscode-auth.github.com
    185.199.110.153  vscode-auth.github.com
    185.199.111.153  vscode-auth.github.com
    2606:50c0:8000::153  vscode-auth.github.com
    2606:50c0:8001::153  vscode-auth.github.com
    2606:50c0:8002::153  vscode-auth.github.com
    2606:50c0:8003::153  vscode-auth.github.com
  4. 设置同步登录认证出现 network error 错误:

    1. 在 vscode 中,ctrl+shift+P,输入 log ,选择开发人员:打开扩展日志文件夹.

    2. 进入认证文件夹,打开日志文件 vscode.github-authentication,查找连接错误 ip 为 api.github.com.

    3. https://www.ipaddress.com/ 查询到 api.github.com 对应到的 ip,更改 hosts 文件。

      bash 复制代码
      140.82.112.6  api.github.com
  5. hosts 文件修改完成后,刷新本地DNS缓存,这一步必须要有

    打开命令提示符(win+R,输入cmd)------输入 ipconfig/flushdns------查看现在 github 的IP ping github.com,若能 ping 通则配置成功,其他 ip 也可以ping一下。

  6. 全部操作完成之后,回到 vscode 使用 github 账号登录去同步配置就可以成功了,使用 HTTPS 连接 github 去 push 也成功了。

vscode已登陆微软账号(或GitHub账号)下需要切换到GitHub账号(或微软账号),注销后再次登录依然是原来的登录方式?

ctrl+shift+p 输入 sync 打开命令面板,选择 Setting:Sync Turn Off 停止同步,弹窗显示确认关闭。点击"用户"图标,重新选择登录账号即可。

总结:

hosts 文件要添加的全部内容:

bash 复制代码
20.205.243.166 github.com

185.199.108.153  vscode-auth.github.com
185.199.109.153  vscode-auth.github.com
185.199.110.153  vscode-auth.github.com
185.199.111.153  vscode-auth.github.com
2606:50c0:8000::153  vscode-auth.github.com
2606:50c0:8001::153  vscode-auth.github.com	
2606:50c0:8002::153  vscode-auth.github.com
2606:50c0:8003::153  vscode-auth.github.com

140.82.112.6  api.github.com

终端输入 ipconfig/flushdns,刷新本地DNS缓存。

相关推荐
qq_422152575 小时前
PDF 加水印工具怎么选?2026 年文档版权保护方案对比
前端·pdf·github
陈猪的杰咪7 小时前
GitHub Copilot 2026计费新规:AI Credits消耗解析与节省策略
人工智能·ai·架构·github·copilot
comcoo7 小时前
电脑自动干活不用值守!OpenClaw 本地部署完整实操流程
windows·开源·github·open claw部署·open claw部署包
嵌入式小站9 小时前
STM32 可移植教程 02:按键状态机,消抖、长按、释放一行也不用多写(实战篇)
chrome·vscode·stm32·单片机·嵌入式硬件
Hommy8811 小时前
【开源剪映小助手】添加特效接口(Add Effects)
开源·github·剪映小助手·视频剪辑自动化
游戏开发爱好者811 小时前
iPhone真机调试有哪些方法?一次定位推送权限问题时整理出来的几种方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
CriticalThinking12 小时前
在xshell中使用ssh隧道访问远程服务
linux·网络·ssh
youcans_13 小时前
从零搭建 STM32 VSCode 开发环境
vscode·stm32·单片机·嵌入式硬件
爱吃苹果的梨叔13 小时前
2026年KVM over IP采购指南:BIOS级接管、并发和审计怎么验收
ide·python·tcp/ip·github
OsDepK13 小时前
获取免费API讯飞星辰maas平台
ide·github