所以我一遍又一遍地做了同样的过程,每次都完美地工作,但是在特定的服务器上它却不能工作。
我试过在Internet + serverfault上的任何书面build议,但没有任何工作。
所以不久,我需要从原始服务器克隆另一台服务器上的git存储库,但ssh连接不起作用。 我试图修复,但没有任何工作。
即使没有密钥,也会出现相同的错误:
ssh -p **** -vvv git@*host.domain* OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to *host.domain* [***.***.***.***] port ****. debug1: connect to address ***.***.***.*** port ****: Connection timed out ssh: connect to host *host.domain* port ****: Connection timed out
另外,奇怪的,我已经注意到在互联网上search修复后,我不能重新启动SSH,因为它通常与sudo service ssh restart ,只有sudo service sshd restart 。 不确定是否有任何相关的。
如果连接超时而不是立即被拒绝,这很可能是某种防火墙问题。 显然,我不知道你的客户端和服务器之间有什么设备,所以这个答案只限于服务器本身的防火墙。
如果您不介意暂时禁用主机防火墙,则可以通过执行来testing
#iptables-save> / tmp / ipt #iptables -F ...再次尝试您的SSH连接... #iptables-restore </ tmp / ipt
如果修复了这个问题,你必须查看iptables -nvL的输出来确定哪个规则阻止了你的连接。
如果你仍然有问题,有可能是sshd本身因为某种原因而断开连接。 你可以尝试在服务器上运行
#tcpdump主机[客户端的地址]和端口22
而您尝试连接以查看stream量是否实际到达。 如果您在尝试连接时没有看到任何内容,并且已经完成了iptables -F ,则可能是某个干预设备负责丢弃stream量。
临时放置在你的/etc/sysctl.conf中的服务器上,如下所示
net.ipv4.tcp_window_scaling = 0
禁用TCP窗口缩放。 试试这个,特别是如果tcpdump (如Flupbuild议的)显示发起TCP连接的前三个数据包被交换。
会话和主机之间可能有多个防火墙。 您可能希望确认所涉及的端口是否可到达。
一种方法是运行nmap
nmap host.domain
输出结果如下所示:
Starting Nmap 5.51 ( http://nmap.org ) at 2013-03-13 07:32 EDT Nmap scan report for host.domain (10.10.10.10) Host is up (0.00023s latency). rDNS record for 10.10.10.10: host.domain Not shown: 998 closed ports PORT STATE SERVICE 22/tcp open ssh 111/tcp open rpcbind MAC Address: E0:DB:55:00:00:01 (Unknown) Nmap done: 1 IP address (1 host up) scanned in 1.21 seconds
在这个例子中,你可以看到两个端口是开放的,其中一个是22,端口通常与ssh相关联。
这将允许您确认从您的服务器到另一个主机有一条path。
更多信息可以在nmap的网站上find
顺便说一句,sshd是ssh守护进程的名字,以及pipe理在/etc/init.d中find的sshd deamon的脚本。 service命令使用redhat,centos和类似的发行版中/etc/init.d中的脚本名称,因此:
service sshd restart
在SERVER上编辑/ etc / ssh / ssh_config
插入以下内容
Host * ServerAliveInterval 300 ServerAliveCountMax 2
这会给evry发送300秒保持活跃的信号最多2次。 如果你想把它设置为Infiniti ,将ServerAliveCountMax设置为0
如果你想从客户身边活下去,
做的完全一样,但没有“主机*”