ssh localhost连接由127.0.0.1关闭?

时间:2012-07-17 00:01:39

标签: ssh connection cygwin localhost

所以,我正在通过本教程(Running Hadoop on windows using cygwin...)在我的WINDOWS上设置hadoop(请不要问我为什么要使用Linux)。所以我得到了这一点,我需要SSH到我的localhost并使用Cygwin测试SSH,但它关闭连接并说:

连接已关闭127.0.0.1

我已经google了很多,但找不到任何正确的答案。

P.S。:我在Windows 7专业版x64上运行cygwin

任何想法?

BTW,这是一个示例运行:

 $ ssh -v localhost
OpenSSH_6.0p1, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to localhost [127.0.0.1] port 22.
debug1: Connection established.
debug1: identity file /home/Soroush/.ssh/id_rsa type 1
debug1: identity file /home/Soroush/.ssh/id_rsa-cert type -1
debug1: identity file /home/Soroush/.ssh/id_dsa type -1
debug1: identity file /home/Soroush/.ssh/id_dsa-cert type -1
debug1: identity file /home/Soroush/.ssh/id_ecdsa type -1
debug1: identity file /home/Soroush/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0
debug1: match: OpenSSH_6.0 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 19:2d:f6:84:4d:e5:0d:d4:5e:e6:e5:a4:6a:3c:ea:8b
debug1: Host 'localhost' is known and matches the ECDSA host key.
debug1: Found key in /home/Soroush/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/Soroush/.ssh/id_rsa
Connection closed by 127.0.0.1

6 个答案:

答案 0 :(得分:5)

安装Cygwin并运行ssh-host-config后,您可能已创建用户cyg_server。因此,当您连接到ssh时,您需要使用用户cyg_server@localhost

当您使用该用户运行ssh时,它会询问您运行ssh-host-config时提供的密码。

$ ssh cyg_server@localhost
cyg_server@localhost's password:
Last login: Mon Dec 31 01:14:44 2012 from ::1
cyg_server@polorumpus ~
$

我希望它会有用。

答案 1 :(得分:2)

看起来密钥未被接受。检查/home/Soroush/.ssh/id_rsa.pub已添加/home/Soroush/.ssh/authorized_keys

我也会检查一下 RSAAuthentication yes中设置了/etc/ssh/sshd_config

答案 2 :(得分:2)

我必须这样做才能解决问题:

chown <USERNAME> /var/log/sshd.log
chown -R <USERNAME> /var/empty
chown <USERNAME> /etc/ssh*
chmod 755 /var/empty
chmod 644 /var/log/sshd.log

请注意,这是我想要的用户名,而不是cyg_server。

答案 3 :(得分:0)

我发现此帖与我的问题有关,但事实证明我的cyg_server帐户没有管理员权限。

答案 4 :(得分:0)

我遇到了同样的问题,它是由Putty身份验证代理(Pageant)生成的:它使用私钥运行。出于某种原因,它试图使用它连接到localhost。如果我关闭了Pageant(或删除了密钥),我可以ssh到localhost。 但是,由于我想让Pageant运行(成为其他ssh服务器的客户端),我设法修改了本地的sshd服务,因此它被忽略了#39;以某种方式选美,接受联系: 修改/ etc / ssh / sshd_config:

PubkeyAuthentication no

现在,它有效

答案 5 :(得分:0)

我不得不使用64位版本的Cygwin来实现这一点。