7

所以,我正在阅读本教程(使用 cygwin 在 Windows 上运行 Hadoop...)在我的 WINDOWS 上设置 hadoop(请不要问我为什么要使用 Linux)。所以我到了这一点,我需要通过 SSH 连接到我的本地主机并使用 Cygwin 测试 SSH,但它会关闭连接并显示:

连接由 127.0.0.1 关闭

我用谷歌搜索了很多,但找不到任何适合我的问题的答案。

PS:我在 Windows 7 Professional x64 上运行 cygwin

任何的想法?

顺便说一句,这是一个示例运行:

 $ 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
4

6 回答 6

5

当您安装Cygwin并运行ssh-host-config时,您可能已经创建了 user 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 ~
$

我希望它会有用。

于 2012-12-31T06:30:32.383 回答
2

看起来密钥没有被接受。检查/home/Soroush/.ssh/id_rsa.pub是否已添加到/home/Soroush/.ssh/authorized_keys

我还会检查 RSAAuthentication yes设置在/etc/ssh/sshd_config

于 2012-07-17T00:41:45.903 回答
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。

于 2014-03-03T21:10:25.567 回答
0

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

于 2015-01-09T11:08:09.163 回答
0

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

公钥认证没有

现在,它有效

于 2015-05-29T06:30:44.603 回答
0

我必须使用 64 位版本的 Cygwin 才能让它工作。

于 2016-07-01T22:12:38.950 回答