【问题标题】:ssh to localhost displays "Connection closed by remote host"ssh to localhost 显示“连接被远程主机关闭”
【发布时间】:2012-02-03 22:29:46
【问题描述】:

我已经安装了 ssh 并且可以正常工作。我跑了sudo chmod -R 777 /var,它停止了工作。我用sudo chmod -R 700 /var 更改了权限,但这并没有让它再次起作用。

当我做ssh -v localhost 时,我得到这个输出:

rajat@ubuntu:/$ ssh -v localhost
OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Connecting to localhost [127.0.0.1] port 22.
debug1: Connection established.
debug1: identity file /home/rajat/.ssh/id_rsa type -1
debug1: identity file /home/rajat/.ssh/id_rsa-cert type -1
debug1: identity file /home/rajat/.ssh/id_dsa type -1
debug1: identity file /home/rajat/.ssh/id_dsa-cert type -1
debug1: identity file /home/rajat/.ssh/id_ecdsa type -1
debug1: identity file /home/rajat/.ssh/id_ecdsa-cert type -1
ssh_exchange_identification: Connection closed by remote host
rajat@ubuntu:/$ 

【问题讨论】:

  • 吸取的教训:不要那样做。为什么在地球上搞砸整个/var 的权限不会破坏事情,你认为再搞砸它们会有什么帮助?

标签: ubuntu ssh sshd


【解决方案1】:

如果有人在尝试连接到在 VirtualBox 上运行的 Ubuntu VM 时遇到类似的错误消息,请在网络设置中将第二个网络适配器设置为“桥接”,并将“NAT”上的端口转发设置为 22。

【讨论】:

    【解决方案2】:

    OpenSSH 在文件和目录权限和所有权方面非常挑剔。 /var 下的唯一目录,至少在 RHEL/CentOS 上,是 /var/empty/sshd 目录,如果 UsePrivilegeSeparation 设置为 yes,它会执行 chroot。

    在您的sshd_config 文件中设置:

    UsePrivilegeSeparation no
    

    然后重新启动 sshd,看看它是否有效。如果确实如此,则可能是 /var/empty/sshd 的权限/所有权导致了问题。

    【讨论】:

    • 好吧,你回复得太晚了 :(。但幸运的是我在虚拟机 (vmware) 中工作,我最终将所有工作复制到存储库,然后在我的虚拟机中返回快照并做一个svn update。但由于这是唯一的答案,我要把它标记为正确的。
    • 但是@prongs 正确吗?这就是为什么您应该将其标记为正确的原因,而不是因为它是唯一的答案:)
    猜你喜欢
    • 2013-01-25
    • 2019-10-27
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 2014-07-30
    • 2016-05-13
    • 2021-02-04
    相关资源
    最近更新 更多