kex_exchange_identification:连接被远程主机关闭

问题描述 投票:0回答:5

我想用 ssh 连接我的共享主机。所以我在cpanel的ssh操作中生成了一个ssh密钥并对其进行了授权。然后我下载了私钥并将其放入 MacBook 的 ./ssh 文件夹中。我使用此代码连接我的主机。

ssh -p 2083  username@host IP

但是我收到了这个错误:

kex_exchange_identification: Connection closed by remote host

我该如何解决我的问题?

ssl ssh shared-hosting openssh
5个回答
10
投票

我办公桌上的一台小型电脑也遇到过类似的情况。我调试这个问题的方法是运行

sshd -t
,它在调试模式下运行 sshd 守护进程。该命令报告我的密钥的权限无效。然后我所要做的就是进入存储密钥的文件夹并发出
chmod 0600 <your_ssh_keys>
。 也许您运行的操作也会生成具有错误权限的内容。


2
投票

在远程主机上使用 docker 命令时出现此错误

docker -H ssh://user@server compose up

经过一番挖掘,我在远程服务器的身份验证日志(/var/log/auth.log)中发现了这个:

Aug  8 14:51:46 user sshd[1341]: error: beginning MaxStartups throttling
Aug  8 14:51:46 user sshd[1341]: drop connection #10 from [some_ip]:32992 on [some_ip]:22 past MaxStartups

这导致我更改

MaxStartups
中的
/etc/ssh/sshd_config
设置。重新启动 ssh 服务后,一切都顺利了。


0
投票

我遇到了同样的问题,这是在我在 ssh 配置文件中使用

ProxyCommand
时发生的。就我而言,
Host
未正确定义,从而导致了相同的错误!


0
投票

首先确认主机名是否正确。 cmd 或配置文件中的拼写错误会导致此错误。

然后,检查主机中的 sshd 日志,查找问题。


0
投票

不太确定我的解决方案是否适合您。 对于我来说,我计划通过 ssh 连接到 github。出现同样的错误。 我在https://github.com/orgs/community/discussions/55269中找到了解决方案 我的配置文件内容如下。

#Windows
ProxyCommand "C:\APP\Git\mingw64\bin\connect" -S 127.0.0.1:51837 -a none %h %p

#MacOS
#ProxyCommand nc -v -x 127.0.0.1:51837 %h %p

Host github.com
  User git
  Port 443
  Hostname ssh.github.com
  # change the path here
  IdentityFile "C:\Users\Your_User_Name\.ssh\id_rsa"
  TCPKeepAlive yes

Host ssh.github.com
  User git
  Port 443
  Hostname ssh.github.com
  # change the path here
  IdentityFile "C:\Users\Your_User_Name\.ssh\id_rsa"
  TCPKeepAlive yes
© www.soinside.com 2019 - 2024. All rights reserved.