(LINUX&WINDOWS)无法读取github远程仓库

这篇具有很好参考价值的文章主要介绍了(LINUX&WINDOWS)无法读取github远程仓库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系统信息

ubuntu 18.04

🔴无法读取远程报错信息

$ git push
ssh: connect to host github.com port 22: Connection timed out
fatal: 无法读取远程仓库。

请确认您有正确的访问权限并且仓库存在。

问题分析

这个错误表明 Git 无法连接到 GitHub 的 SSH 服务。有几种可能的原因和解决方法:

  1. 网络连接问题: 首先确保网络连接正常。尝试访问其他网站,确保能够正常连接到互联网。

  2. 防火墙或代理问题: 如果在一个受限制的网络中,防火墙或代理可能会阻止 Git 连接到 GitHub。请检查网络设置,或者尝试在另一个网络中进行。

  3. SSH 配置问题: 确保 SSH 密钥正确配置并且已经添加到 GitHub。可以使用以下命令来测试 SSH 连接:

    ssh -T git@github.com
    

    如果成功,应该看到一条欢迎信息。如果失败,请确保 SSH 密钥正确设置并添加到 GitHub。

  4. GitHub 服务器问题: 有时 GitHub 服务器可能会遇到问题。在这种情况下,等待一段时间然后再尝试。

  5. 尝试使用 HTTPS: 如果 SSH 一直无法解决,尝试使用 HTTPS 连接:

    git remote set-url origin https://github.com/your-username/your-repo.git
    

    然后再尝试 push:

    git push origin your-branch
    

    这会要求输入 GitHub 的用户名和密码。

  6. 使用 SSH 配置文件(仅限 Linux/Mac):~/.ssh/config 文件中添加以下内容:

    Host github.com
       HostName github.com
       PreferredAuthentications publickey
       IdentityFile ~/.ssh/id_rsa
    

    请确保 IdentityFile 路径正确指向 SSH 密钥文件。

如果上述步骤都没有解决问题,可能需要进一步调查网络和系统配置。


🔴 SSH 配置问题

排查问题过程中,在测试SSH连接时遇到错误如下:

错误信息

$ ssh -T git@github.com

ssh: connect to host github.com port 22: Connection timed out

问题分析

问题可能是由于无法连接到 GitHub 的 SSH 服务器导致的。

需要检查 SSH 配置


解决方案

🔵 编辑SSH 配置文件

修改config文件后解决,config相关信息如下:

$ cat ~/.ssh/config 
# github
# 网站的别名,随意取
Host github.com 
# 托管网站的域名
	HostName ssh.github.com
# github上的用户名
	User git
#端口号
	Port 443
 # 使用的密钥文件
	IdentityFile ~/.ssh/id_rsa_github

参考资料

关于此问题相关链接及github文档

https://stackoverflow.com/questions/15589682/ssh-connect-to-host-github-com-port-22-connection-timed-out

https://docs.github.com/zh/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls

github文档地址:https://docs.github.com/zh/authentication/troubleshooting-ssh/using-ssh-over-the-https-port

在 HTTPS 端口使用 SSH

本文内容

  • 启用通过 HTTPS 的 SSH 连接
  • 更新已知主机

有时,防火墙会完全拒绝允许 SSH 连接。 如果无法选择使用具有凭据缓存的 HTTPS 克隆,可以尝试使用通过 HTTPS 端口建立的 SSH 连接克隆。 大多数防火墙规则应允许此操作,但代理服务器可能会干扰。

GitHub Enterprise Server 用户:目前不支持经 SSH 通过 HTTPS 端口访问 GitHub Enterprise Server。

要测试通过 HTTPS 端口的 SSH 是否可行,请运行以下 SSH 命令:

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

注意:端口 443 的主机名为 ssh.github.com,而不是 github.com

如果这样有效,万事大吉! 否则,可能需要遵循我们的故障排除指南。

现在,若要克隆存储库,可以运行以下命令:

git clone ssh://git@ssh.github.com:443/YOUR-USERNAME/YOUR-REPOSITORY.git

启用通过 HTTPS 的 SSH 连接

如果你能在端口 443 上通过 SSH 连接到 git@ssh.github.com,则可覆盖你的 SSH 设置来强制与 GitHub.com 的任何连接均通过该服务器和端口运行。

要在 SSH 配置文件中设置此行为,请在 ~/.ssh/config 编辑该文件,并添加以下部分:

Host github.com
    Hostname ssh.github.com
    Port 443
    User git

你可以通过再次连接到 GitHub.com 来测试这是否有效:

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

更新已知主机

在切换到端口 443 后第一次与 GitHub 交互时,你可能会收到一条警告消息,指出在 known_hosts 中找不到主机,或者该主机由其他名称找到。

> The authenticity of host '[ssh.github.com]:443 ([140.82.112.36]:443)' can't be established.
> ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
> This host key is known by the following other names/addresses:
>     ~/.ssh/known_hosts:32: github.com
> Are you sure you want to continue connecting (yes/no/[fingerprint])?

假设 SSH 指纹与 GitHub 发布的指纹之一匹配,那么可以针对这个问题安全地回答“是”。 有关指纹列表,请参阅“GitHub 的 SSH 密钥指纹”。

按 alt+up 激活文章来源地址https://www.toymoban.com/news/detail-828328.html

到了这里,关于(LINUX&WINDOWS)无法读取github远程仓库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git 权限问题:无法读取远程仓库,请确认您有正确的访问权限并且仓库存在

    如果你在使用 git clone 时遇到权限问题,可能是由于缺少SSH密钥或访问令牌等身份验证问题。 以下是在纯命令行环境下配置Git以解决这类问题的一般步骤: 使用SSH密钥进行认证 : 如果你还没有SSH密钥,请生成一个新的SSH密钥。在命令行中执行以下命令(使用你的电子邮件地

    2024年02月03日
    浏览(41)
  • git clone 拉取远程代码报错(fatal:无法读取远程仓库 ,请确认您有正确的访问权限并且仓库存在)的原因———未添加SSH KEY

    fatal: 无法读取远程仓库。 请确认您有正确的访问权限并且仓库存在。 打开一个命令窗口,输入: 注:yourname是你设置的用户名,your@email是你要的邮箱。没有的话在github上注册一下。 注:w是我的用户名,请根据自己用户名替换 生成配置文件 (填你设置的邮箱地址) 会出现

    2024年02月11日
    浏览(54)
  • 【解决问题】远程仓库GitHub/GitLab添加了SSH Key之后依然无法clone的解决办法

    在Git远程仓库添加了自己的ssh key到账户下,git clone时,依然报错clone失败,请检查是否没有权限进行clone操作。 在git的安装目录下,找到${GIT_HOME}/etc/ssh目录下的ssh_config文件。打开文件,加入如下内容后,再次git clone即可以成功

    2024年02月12日
    浏览(50)
  • 【Linux/Windows下】如何将本地仓库绑定至Github仓库

    本篇博客将介绍Linux和Windows下连接远程仓库的方式,以及非常基础地用github与team进行合作的方法。 一开始想从Git开始准备,后来越想越觉得应该从盘古开天辟地开始准备… 1.一个Github账号 2.了解一些基础的Git操作 3.有一个本地仓库 准备好这些后,接下来的流程大概就是:

    2024年03月15日
    浏览(44)
  • linux终端上传github提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交

    问题: 提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外 提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更 提示:(如 \\\'git pull ...\\\')。 提示:详见 \\\'git push --help\\\' 中的 \\\'Note about fast-forwards\\\' 小节。 强制上传输入命

    2024年01月19日
    浏览(45)
  • 使用XShell、XFTP 连接 win7 虚拟机(windows、Linux无法远程登录问题)

    ( 更新:可以通过此文章解决三个问题:使用Windows/linux远程连接Linux或Windows,但无法连接,可以对Windows检查ssh,对Linux检查sshd ) 首先,你看到这篇文章的原因可能是如下两个(此篇我们以Windows7为例,因为win10ssh一般是开着的): 还没有尝试使用 [XShell 连接 Windows 7 系统(

    2024年02月02日
    浏览(49)
  • 【Tools】Ubuntu22.04和Windows无法复制粘贴问题

    从Windows复制文件到虚拟机Ubuntu22.04时,出现无法粘贴,或者粘贴到文件夹中后立马闪退。 从Ubuntu22.04复制文件或者内容到Windows,出现无法粘贴。 When trying to drag and drop a file from Windows to Folder in File Explorer, the file icon will be stuck on the screen, and pulling another will show a dialog box with “

    2024年02月07日
    浏览(62)
  • Github仓库远程操作——简单版

    github仓库简单的远程操作,更多复杂的功能请参考github官方文档 远程操作之前,先添加本地的公钥到github 创建本地ssh公私钥:使用powershell或者gitbash或者cmd 执行命令:ssh-keygen -t rsa,然后会在C盘本地用户的根目录下 .ssh文件夹下生成两个文件,其中 .pub为公钥,可以公开,另

    2024年02月03日
    浏览(28)
  • VMware 虚拟机在 Windows 7 下无法安装 VMware Tools

    在安装 VMware Tools 的时候,是否出现以下问题? ------下面是具体的解决方案------ A.请在 物理主机 上,下载好对应版本的\\\"补丁文件\\\"。 B.然后将\\\"补丁文件\\\"通过\\\"远程连接\\\"传给 Windows 7 虚拟机。 C.双击运行\\\"补丁文件\\\",进行补丁安装,安装完成后,进行重启。 D.重启后,可以选择

    2024年01月17日
    浏览(72)
  • github cli 创建远程仓库并推送到github

    以下操作基于macOS,其他系统安装请参阅官方文档cli/cli: GitHub’s official command line tool。 以下操作步骤基本上就是上下方向键进行选择,然后回车。Token需要访问这里手动创建并粘贴。Token的权限应该至少包括 repo , read:org , admin:public_key . 基本上就是输入 gh repo create 然后一路根

    2024年02月02日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包