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 ++
工具);
文章来源:https://www.toymoban.com/news/detail-822562.html
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://www.toymoban.com/news/detail-822562.html
到了这里,关于解决 Git:ssh: connect to host github.com port 22: Connection timed out 问题的三种方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!