ssh_exchange_identification:连接由Git bash下的远程主机closures

我在win7上工作,用sshd设置git服务器。 我git --bare init myapp.git ,正确地在Cywgin中克隆ssh://git@localhost/home/git/myapp.git 。 但是我需要重新configurationCygwin的 git,我想在Git Bash中克隆git 。 我运行git clone ssh://git@localhost/home/git/myapp.git并得到以下消息

 ssh_exchange_identification: Connection closed by remote host 

然后我在Git Bash中运行ssh -vvv git@localhost并获取消息

 debug2: ssh_connect: needpriv 0 debug1: Connecting to localhost [127.0.0.1] port 22. debug1: Connection established. debug1: identity file /c/Users/MoreFreeze/.ssh/identity type -1 debug3: Not a RSA1 key file /c/Users/MoreFreeze/.ssh/id_rsa. debug2: key_type_from_name: unknown key type '-----BEGIN' debug3: key_read: missing keytype debug3: key_read: missing whitespace // above it repeats 24 times debug2: key_type_from_name: unknown key type '-----END' debug3: key_read: missing keytype debug1: identity file /c/Users/MoreFreeze/.ssh/id_rsa type 1 debug1: identity file /c/Users/MoreFreeze/.ssh/id_dsa type -1 ssh_exchange_identification: Connection closed by remote host 

看来我的私钥有错误的格式? 我发现没有BEGINEND私钥只有25行。 我很困惑,为什么说不是RSA1密钥,我完全确保它是RSA 2密钥。

任何build议是受欢迎的。 顺便说一句,我已经读过谷歌有关这个问题的前3页。

我今天有这个问题,我意识到我已连接到2个不同的networking(局域网和无线局域网),我解决了它只是从我的以太网适配器断开电缆。 我想这个问题是由于ssh密钥与我的无线适配器的MAC地址绑定导致的。 我希望这可以帮助你。

我今天刚刚遇到了这个问题,这是因为我试图连接的服务器过载了。 所以有可能服务器内存不足或CPU不足。

刚进入

 echo 'SSHD: ALL' >> /etc/hosts.allow 

它为我整理出来。

linux中点击下面的ssh restart命令

 prayag@prayag:~/backup/NoisyNeighbour$ service ssh restart stop: Rejected send message, 1 matched rules; type="method_call", sender=":1.75" (uid=1417676764 pid=5933 comm="stop ssh ") interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init") start: Rejected send message, 1 matched rules; type="method_call", sender=":1.76" (uid=1417676764 pid=5930 comm="start ssh ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init") 

确保你没有连接到任何一种VPN。

如果主机名不起作用,请尝试IP地址。

这是现在正在进行,所以我不得不说。 我尝试与我的主机名SSH,它不工作

 ssh root@host.example.net 

这给出了错误“ssh_exchange_identification:由远程主机closures连接”

这用于工作一个小时。

但是,这里是有趣的部分,IP地址的作品!

 ssh root@192.168.0.100 

(当然实际的IP地址是不同的)

去搞清楚!

得到了相同的错误信息。 closuresWiFi并将其重新打开,为我工作。

您好我修复这一个vps服务,重新启动它,另一种方式是,如果你有一个控制台从您的服务o任何其他方式来运行在您的远程机器的命令,你必须运行的唯一命令是重新启动SSH守护进程,并享受! :P

 /etc/init.d/ssh restart 

我将/ etc / ssh / sshd_config中的ssh port&MaxStartupsvariables更改为,

 port 2244 MaxStartups 100 

然后,重新启动服务

 service sshd restart 

如果仍然不起作用,请重新启动系统。

如果您的sshd服务不可用,您可以获得“ssh_exchange_identification:由远程主机closures的连接”!

如果您有权访问服务器,请检查您是否运行了sshd服务:

  ps aux | grep ssh 

并检查它正在端口22上收听:

  netstat -plant | grep :22 

更多细节在这里

今天早上,我们将git主机实例/服务器迁移到了一个新的数据中心,并同时连接到:VPN(来自远程/家庭)或者在办公室networking,我得到了同样的错误,无法连接克隆任何GIT回购。

 Cloning into 'some_repo_in_git_dev'... ssh_exchange_identification: Connection closed by remote host fatal: Could not read from remote repository. 

如果您通过跳转主机服务器连接到部分或全部服务器,这将有所帮助。

在我的〜/ .ssh / config文件中 ,我的连接设置是:

 Host * !ssh.somejumphost.my.company.com ProxyCommand ssh -q -W %h:%p ssh.somejumphost.my.company.com 

这意味着,对于任何基于SSH的连接,它将通过给定的跳转主机服务器连接到任何*服务器, 除非忽略 “ssh.somejumphost.my.company.com”服务器(因为我们不想连接到通过跳转主机服务器跳转主机。

为了解决这个问题,我所做的只是改变configuration忽略git服务器:

 Host * !ssh.somejumphost.my.company.com !mycompany-git.server.com !OrMyCompany-some-other-git-instance.server.com ProxyCommand ssh -q -W %h:%p ssh.somejumphost.my.company.com 

所以,现在连接到mycompany-git.server.com做git clone(git SSH url)时,我告诉SSH不要为这两个额外的git实例/服务器使用跳转主机。

当我从一个工作场所移动到另一个工作场所时,通过ssh连接到GitHub时也得到了同样的错误。 根据我的情况,似乎不同networking的dns服务器可能会得到github的各种ip地址,known_hosts文件在发生变化时不能识别它。 所以改变DNS或切换回原来的networking可能工作。