ssh localhost连接由127.0.0.1关闭?

问题描述:

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

连接通过127.0.0.1

我GOOGLE了很多,但关闭找不到任何适合我的问题的答案。

P.S:我在Windows 7专业版64位

任何想法运行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 

当您安装Cygwin就跑ssh-host-config设置,您可能已经创建的用户cyg_server。因此,当您连接到ssh时,您需要使用用户[email protected]

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

$ ssh [email protected] 
[email protected]'s password: 
Last login: Mon Dec 31 01:14:44 2012 from ::1 
[email protected] ~ 
$ 

我希望它会有用。

+0

出于某种原因,我习惯于重新启动才能完成这项工作。 – FelikZ 2015-01-24 09:29:02

看起来关键是不能被接受。检查/home/Soroush/.ssh/id_rsa.pub已添加到/home/Soroush/.ssh/authorized_keys

我还要检查 RSAAuthentication yes/etc/ssh/sshd_config

+0

好吧,我将id_rsa.pub添加到了authorized_keys,并且在sshd_config文件中将RSAAuthentication设置为yes,但仍然得到相同的结果。我已经编写了这段代码,将密钥添加到authorized_keys中: cd〜/ .ssh \ n cat id_rsa.pub >> authorized_keys – Gabriel 2012-07-17 05:39:42

+0

删除'\ n'部分。做到这一点:'cat〜/ ssh/.id_rsa.pub〜〜/ ssh /。authorized_keys'这会用你的rsa密钥覆盖现有的并且应该工作。 '\ n'是文档中的错字,顺便说一句 - 这不是一个编程问题:) – Minsc 2012-07-17 08:26:22

+0

我做到了......仍然没有工作...... :( – Gabriel 2012-07-17 10:39:50

我不得不做这些来解决这个问题:

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。

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

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

Pubkey验证没有

现在,它的工作原理

我不得不使用Cygwin的64位版本,以获得这个工作。