解决 Git:ssh: connect to host github.com port 22: Connection timed out 问题的三种方案

发布时间:2024年01月24日

1、问题描述:

其一、整体提示为:

ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.

中文为:

ssh:连接到主机 github.com 端口 22:连接超时
fatal:无法从远程存储库读取

其二、问题描述为:

A、正常的将代码提交到 git 仓库的过程:

step1、找到要提交 git 的代码的地址:
xxxxxxxx@ubuntu:~/work/frs_stp/frs$

step2、查看当前分支的命令:git branch
// 注意此时的分支就是:dev-xxxxxxxx

即:xxxxxxxx@ubuntu:~/work/frs_stp/frs$ git branch

在这里插入图片描述

step3、查看 git 的提交记录(如:查看四行)的命令:git log --oneline -4

即:xxxxxxxx@ubuntu:~/work/frs_stp/frs$ git log --oneline -4

在这里插入图片描述

step4、准备提交的状态信息的命令:git status .

即:xxxxxxxx@ubuntu:~/work/frs_stp/frs$ git status .

在这里插入图片描述

step5、去掉不用提交的页面操作的命令:git checkout
注意:上面的就是准备提交的更改的东西(注意:要只提交 web 的内容),下面的就是准备提交的新的页面;
即(注意有空格):xxxxxxxx@ubuntu:~/work/frs_stp/frs$ git checkout web/server/prog/handlers/* web/server/prog/url_handlers.in web/server/prog/web_common.h

在这里插入图片描述

step6、再次查看即将要提交信息的命令:git status .

即:xxxxxxxx@ubuntu:~/work/frs_stp/frs$ git status .

在这里插入图片描述

step7、 git 添加操作的命令:git add .

即:xxxxxxxx@ubuntu:~/work/frs_stp/frs$ git add .

在这里插入图片描述

step8、提交操作备注信息的操作:git commit -m "[]" .

即:xxxxxxxx@ubuntu:~/work/frs_stp/frs$ git commit -m "[型号][注释][name][web]" .

在这里插入图片描述

step9、可能要存在的强推动作命令:
(即:此时就是基于 dev-xxxxxxxx 创建的新的分支 personal/xxx/qos):

即:xxxxxxxx@ubuntu:~/work/frs_stp/frs$ git push -u origin dev-xxxxxxxx:personal/xxx/qos --force

在这里插入图片描述

B、此时出现的问题是:强推动作命令抛错:
之前这种操作并没有问题,此时却抛错;
目的:想要将代码推上去,完成代码的合入;

其三、报错面显示为:

// 此时是提交的最后一步抛错;

在这里插入图片描述

2、问题分析:

其一、可能是网络的问题;
其二、可能是连接的 ssh 出了问题;
其三、默认推上去的端口 22 被占用;

3、问题解决:

其一、网络问题的排除:
若页面能访问 git 库,一般就说明网络没问题;
若浏览器访问不了页面等网络问题,请看本篇文章:点击跳转

其二、可能是连接的 ssh 出了问题:
在对应代码下输入命令:ssh -T git@github.com
即:jiyinhui@ubuntu:~/work/frs_stp/frs$ ssh -T git@github.com

A、若输出结果如下:说明就是端口 22 被占用的问题;

在这里插入图片描述

B、若输出结果如下:说明 ssh 的连接没有问题(若不放心就重新 ssh 配置一下);

在这里插入图片描述

C、若是其它的结果,一般就说明就是 ssh 连接的问题;

其三、默认推上去的端口 22 被占用:

A、输入命令,来查看配置信息 vim ~/.ssh/config

// 此时的信息就是抛错:port 22: Connection timed out 的配置

在这里插入图片描述
B、修改配置信息为:

在这里插入图片描述

// 通过 vim ~/.ssh/config 查看的结果为:
// 注意:退出 vim 的命令为 :wq + 回车

在这里插入图片描述

代码为:

Host github.com
	port 443
	HostName ssh.github.com
	IdentityFile ~/.ssh/xxxxxxxxxxxxxxxxxx

C、此时继续推则能成功推上 git 去:

命令为:xxxxxxxx@ubuntu:~/work/frs_stp/frs$ git push -u origin dev-xxxxxxxx:personal/xxx/qos --force

在这里插入图片描述

// 然后再执行 ssh -T git@github.com 命令的结果展示为:

在这里插入图片描述

D、可能存在的问题:

step1、抛 # 的错误:

在这里插入图片描述

代码为:
// 此时的错误,应该是带了注释 #,而导致的问题抛错(即:去掉该注释, 应该就能解决该问题);

# Default github user self
Host github.com
	port 443 # 默认是22端口
	HostName ssh.github.com
	IdentityFile ~/.ssh/id_rsa

step2、抛错: fatal: Could not read from remote repository.

要检查下,此时配置里的 IdentityFile ~/.ssh/xxxxxxxxxxxxxxxxxx,后面跟的是不是想要的仓库地址;

step3、如何查看 vim ~/.ssh/config 命令中的 config 配置文件:

// 此时说明:.ssh 文件与 work 文件同一等级,查看并修改即可(即:可以通过 Notepad ++ 工具);

在这里插入图片描述

4、小结:

其一、哪里有不对或不合适的地方,还请大佬们多多指点和交流!
其二、若有转发或引用本文章内容,请注明本博客地址(直接点击下面 url 跳转) https://blog.csdn.net/weixin_43405300,创作不易,且行且珍惜!
其三、有兴趣的话,可以多多关注这个专栏(Vue(Vue2+Vue3)面试必备专栏)(直接点击下面 url 跳转):https://blog.csdn.net/weixin_43405300/category_11525646.html?spm=1001.2014.3001.5482

文章来源:https://blog.csdn.net/weixin_43405300/article/details/135814505
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。