专业的编程技术博客社区

网站首页 > 博客文章 正文

git操作时的Operation timed out(git push time out)

baijin 2024-08-21 11:22:41 博客文章 5 ℃ 0 评论

问题描述:
当在一个git仓库中手动操作git命令时,比如pull、push等时,或者在ssh -T git@github.com时,终端报错:ssh: connect to host github.com port 22: Operation timed out
截图:

问题排查:

  1. 在Mac电脑中ssh文件夹的位置在:/Users/xxx/.ssh
  2. 查看其中的文件,截图如下:
  3. 通过在github网站的ssh配置中,查看公钥都存在,而且known_hosts中也存在对应github的ssh公钥信息。
  4. known_hosts文件:known_hosts是系统生成的,在一些需要ssh操作中,通过ssh访问的主机的端口和公钥信息都会保存在这里。主要是保存你ssh访问某些主机时的身份信息到本地,防止中间人攻击。
  5. 然后就是因为: ssh -T git@github.com 测试访问时,提示端口22操作超时,如上面的问题截图所示。
  6. 那么这些文件配置没问题,那么最后确定就是端口22访问的问题,通过查找很多资料后发现,可以尝试将端口号22修改成443的https访问。

解决办法:
1.在ssh文件夹下需要一个config文件,在文件中配置github的host主机和端口,那么在进行ssh访问时,会从config文件中读取配置。

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

2.我们可以直接通过一行终端命令搞定。
3.终端进入到ssh文件夹下:

cd ~/.ssh

4.那么在.ssh文件夹下没有config文件对吧,我们通过命令写入一下,然后会生成config文件(直接复制以下命令,回车就好):

echo 'Host github.com
  Hostname ssh.github.com
  Port 443' >> config

那么config文件自动就生成了,重新尝试链接github.com。
5.看结果,成功被allowed了:

6.然后可以查看一下know_hosts文件,连接成功的端口是443了:

以上。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表