连接已由 [SERVER_IP] 关闭

连接已由 [SERVER_IP] 关闭

我不是 ssh 专家,但不知何故我无法通过 IP 和用户名连接到服务器:

ssh -p [PORT] [USERNAME]@[SERVER_IP]

响应始终是:

Connection closed by [SERVER_IP]

问题出在远程服务器端?

我在使用 Mac OS X (mavericks)。

更新:日志如下:

debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to [SERVER_IP] port 22068.
debug1: Connection established.
debug3: Incorrect RSA1 identifier
debug3: Could not load "/Users/dmitri/.ssh/id_rsa" as a RSA1 public key
debug1: identity file /Users/dmitri/.ssh/id_rsa type 1
debug1: identity file /Users/dmitri/.ssh/id_rsa-cert type -1
debug1: identity file /Users/dmitri/.ssh/id_dsa type -1
debug1: identity file /Users/dmitri/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.1
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH_5*
debug2: fd 3 setting O_NONBLOCK
debug3: put_host_port: [SERVER_IP]:22068
debug3: load_hostkeys: loading entries for host "[SERVER_IP]:22068" from file "/Users/dmitri/.ssh/known_hosts"
debug3: load_hostkeys: loaded 0 keys
debug1: SSH2_MSG_KEXINIT sent

另一更新:sshd_配置

Port 22068
Protocol 1,2 
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key

答案1

我会尝试以不同的方式调试此问题。由于您可以访问服务器,因此请使用 -d(用于debug)选项手动运行 ssh 服务器:

  sudo service ssh stop
  sudo /usr/sbin/sshd -ddd

这将增加服务器的详细程度,就像客户端的 -vvv 选项一样。第二个命令的输出将进入标准错误,您可以捕获它、进行分析,如果有疑问,请在此处发布最后几行以供进一步讨论。

您也可以使用另一个命令,

 sudo /usr/sbin/sshd -T

检查您的配置和密钥的有效性。

你还应该检查客户端和服务器上用户的 .ssh 的权限谁和您正在连接的人(使用 700=,存在授权密钥您要连接的用户的 .ssh 目录中的文件,以及客户端的 .ssh 目录中密钥的权限(它们应该是 700)。

编辑:

sudo service ssh stop 指向我停止:未知实例:

这意味着你的 Ubuntu 机器上没有运行 ssh 服务器。你下载了 ssh 软件包吗?它能正常启动吗?尝试使用我上面给出的命令运行它,

  sudo /usr/sbin/sshd -d

并检查其输出

答案2

/etc/ssh_host_rsa_key检查和文件的权限/etc/ssh_host_dsa_key。它们必须是0600。我遇到了同样的问题,但什么也没起作用。但是当我做了

sudo /usr/sbin/sshd -d

我收到一堆关于这两个文件的错误消息(它们的0644权限“太开放”)。通过输入以下两个命令,一切都解决了:

sudo chmod 600 /etc/ssh_host_rsa_key
sudo chmod 600 /etc/ssh_host_dsa_key

答案3

是的,这是远程端的一个“问题”。错误表明已建立连接,但随后被服务器关闭。您可以检查以下几点:

  • 检查访问列表/其他安全控制/etc/ssh/sshd_config
  • 检查 TCP 包装器(/etc/hosts.allow, /etc/hosts.deny

答案4

如果它可以帮助其他人,我收到此错误时遇到的问题是客户端。我输错了[USERNAME]命令的一部分。

相关内容