git push时报错connection failed to 22

本文讲述了在使用SSH操作Git遇到连接github.com端口22超时的问题,分析了可能的原因(如配置错误、网络限制),提供了通过443端口、检查DNS解析等解决方案。
摘要由CSDN通过智能技术生成

一、 具体报错

  • 情况

在之前使用https的方式操作git时常会因为网络问题出现和github连接失败的问题后,在之前的博客git提交报错中转而使用ssh的方式,之后很长一段时间都没什么问题,后来某天在git pull提交代码时,出现以下报错信息

  • 报错信息:
ssh: connect to host github.com port 22: Operation timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.`
  • 报错原因
    见名知意是由链接不到github.com的22号端口引起的

二、 解决思路

首先连接不到22端口,可能是由于自身配置问题,根据上述博客中的github配置ssh访问中提到的方式验证自己是否已经配置好了密钥

  1. 查看自己的电脑是否配置了密钥信息
cd ~/.ssh              
ls

以下说明本机已生成了ssh key
在这里插入图片描述
P.S. :如果没有,请按照上述链接中提到的配置githubssh访问的方式进行配置
2. 查看github上是否已经添加了本机密钥
进入github -> settings -> ssh and gpg keys 查看是否已添加密钥信息

经过验证,上述配置都没有问题

  1. 解决方案
    网络上现有解决方案主要有两种:

    • 使用https协议,不要使用ssh协议

    由于吃过https协议的苦头,所以果断放弃第二种方式,(由于mac关了梯子之后使用https协议git操作经常玄学),等以后需要详细学习一下计算机的网络代理相关知识

    这种解决方式的链接:坑:ssh: connect to host github.com port 22: Connection refused

    • 使用GitHub的443端口
      当然443端口也是https协议的默认端口,这种做法应该是由于https和ssh访问的端口虽然不同,但是内容是一致的
      由于防火墙或者其他原因导致github.com的22端口访问异常,所以访问443端口
      方案:
      在~/.ssh文件夹下新建或者在config文件中添加以下信息:

      Host github.com
      User git
      Hostname ssh.github.com
      PreferredAuthentications publickey
      IdentityFile ~/.ssh/id_rsa
      Port 443
      

      修改并保存之后,使用ssh -T git@github.com进行验证

      Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
      

      出现以上信息证明配置成功

    • 其他方案:
      其他情况下,可能由于DNS域名解析服务出错,可以尝试重新配置计算机的DNS解析服务
      详见:坑:ssh: connect to host github.com port 22: Connection refused最后的解决方案

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值