【发布时间】:2016-04-16 15:56:15
【问题描述】:
情况
我使用的是linux(mint mate 17.2),当通过ssh推送到github时,有时会出现连接失败,通常是重启电脑和网络后会恢复。几天后,它可能又变坏了,很混乱。
http推送从来没有这样的问题,但是需要密码,不方便。
调试信息
通过 ssh 推送时:
debug1:连接到 github.com [192.30.252.129] 端口 22。
卡在上面一行。
然后经过漫长的等待,得到超时提示:
debug1:连接到地址 192.30.252.129 端口 22:连接超时
ssh: 连接到主机 github.com 端口 22: 连接超时
致命:无法从远程存储库读取。
问题:
可能是什么原因,如何解决?
更多调试信息:
ping 很好:
eric@eric-pc:~$ ping 192.30.252.129
PING 192.30.252.129 (192.30.252.129) 56(84) bytes of data.
64 bytes from 192.30.252.129: icmp_seq=1 ttl=50 time=345 ms
64 bytes from 192.30.252.129: icmp_seq=2 ttl=50 time=452 ms
64 bytes from 192.30.252.129: icmp_seq=3 ttl=50 time=373 ms
64 bytes from 192.30.252.129: icmp_seq=4 ttl=50 time=349 ms
64 bytes from 192.30.252.129: icmp_seq=5 ttl=50 time=346 ms
64 bytes from 192.30.252.129: icmp_seq=6 ttl=50 time=442 ms
64 bytes from 192.30.252.129: icmp_seq=7 ttl=50 time=344 ms
telnet 不好:
eric@eric-pc:~$ telnet 192.30.252.129 22
Trying 192.30.252.129...
@更新:
我在同一网络中设置了另一台计算机,使用相同的ssh密钥,通过ssh成功推送到github,而原计算机仍然超时。
操作:
-
重启网络,还是无法连接。
-
重启ssh-agent,还是连接不上,老进程变成了失效的ssh-agent进程,而有一个新的ssh-agent:
- 重启 linux,然后 ssh 工作,
猜测:
- ssh-agent 有问题,
- github由于某种原因阻止了我的客户端,
其实,在问之前,我从google上看到过类似的问题,但没有解决问题,也没有人解释原因。
而且这个问题真的很烦人,因为我不想每次推送都输入密码,也不想时不时重启我的电脑,有什么帮助吗?
【问题讨论】:
-
在更高的调试级别还有输出吗?您可以使用不同的应用程序进行连接吗? (例如
telnet 192.30.252.129 22应该返回一个横幅)如果您在同一网络上有不同的机器 - 当第一台卡住时您可以从它连接吗?你在使用控制插座吗? (您的 ssh 配置中的 ControlMaster / ControlPath 变量) -
@viraptor debug3 是最高的,问题中添加了ping&telnet结果,我在网络中设置了另一台电脑用相同的ssh密钥,它通过ssh成功推送,而原来的电脑还是不行。我没有使用控制插座。
-
这个问题可能是故障机器上的防火墙引起的
-
@Ferrybig 我正在使用 mint mate,唯一的防火墙是 ufw,它允许端口 22,但重要的是远程端口,而不是本地端口,对吧?而且,防火墙一直都在,只是机器运行时ssh突然不可用,所以我认为这不是本地防火墙问题。
-
@Ferrybig 是的,这也是我多年不使用 windows 的原因之一。
标签: git github ssh openssh ssh-agent