[TOC]

问题描述:

在某一天使用hexo d命令时突然出现报错:

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

之前都是可以链接的,后来换了地方突然链接不上github了。

问题分析:

根据错误提示知道,连接不成功可能是:

  1. 网络问题
  2. ssh密钥需要重新添加
  3. 22端口被占用

根据此进行尝试解决,应该能解决。我就是第三个问题

解决方法:

情况一:

检查网络连接情况,检查代理是否开启。然后ping一下看看。

1
ping github.com

情况二:

直接重新添加ssh密钥就行

情况三:

这也是我的情况,可能是22端口不行或者被占用,就需要换个端口。

操作方法:

1.进入~/.ssh下

1
cd ~/.ssh

2.创建一个config文件(这里我用的vim编辑器)

1
vim config

3.编辑文件内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
12345678910111213

4.保存退出

5.检查是否成功

1
ssh -T git@github.com

这里要根据它的提示操作,有个地方要输入yes。

然后再试试hexo d,估计就能提交了。

但是我还是ping不通github.com,不知道为什么,但是换个端口也能传上去。有大佬知道的请指教!)