4

我正在尝试使用 cygwin 进行 ssh 连接。我已按照此处给出的说明进行操作。当我触发ssh localhost命令时,我得到Connection closed by ::1错误。由于我是 unix 和 cygwin 的新手,我无法弄清楚出了什么问题。请谁能告诉我为什么会出现这个错误以及如何解决它?

我的 cygwin shell 如下所示:

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/Shekhar/.ssh/id_rsa):
/home/Shekhar/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/Shekhar/.ssh/id_rsa.
Your public key has been saved in /home/Shekhar/.ssh/id_rsa.pub.
The key fingerprint is:
85:69:77:cc:fd:21:8a:ce:fe:46:41:ee:c8:e7:3d:7b Shekhar@Shekhar-PC
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|         o + .   |
|        + = +... |
|       . o.+. ...|
|        S.o..   .|
|        oo +     |
|         o+ .    |
|        .  o o E |
|         .o. .+  |
+-----------------+

Shekhar@Shekhar-PC ~
$ cd ~/.ssh/

Shekhar@Shekhar-PC ~/.ssh
$ ls -l
total 10
-rw-r--r-- 1 Shekhar None 1200 Jun 16 19:49 authorized_keys
-rw------- 1 Shekhar None 1675 Jun 20 08:55 id_rsa
-rw-r--r-- 1 Shekhar None  400 Jun 20 08:55 id_rsa.pub
-rw-r--r-- 1 Shekhar None  171 Jun  6 23:28 known_hosts

Shekhar@Shekhar-PC ~/.ssh
$ cat id_rsa.pub >> authorized_keys

Shekhar@Shekhar-PC ~/.ssh
$ ssh localhost
Connection closed by ::1
4

4 回答 4

5

我遇到了同样的问题。至少对我来说,问题是使用 ssh-host-config 创建 cyg_server 用户。它是在没有主目录的情况下创建的,并且它的 shell 设置为 /bin/false。因此,我更改了 cyg_server 用户的 /etc/passwd 文件以反映 /home/cyg_server(从 /var/empty 更改)和 /bin/false 为 /bin/bash,并为用户创建了主目录。尝试使用 cyg_server 用户重新连接,瞧。

简而言之:

mkdir /home/cyg_server
vim /etc/passwd
cyg_server:...(bunch of stuff)...:/var/empty:/bin/false

cyg_server:...(bunch of stuff)...:/home/cyg_server:/bin/bash

大概 cygwin 有一个 usermod 命令或同义词可以更安全一点。但我很不耐烦,这就是我所做的。如果有人遵循这一点,请注意在编辑 /etc/passwd 文件时要格外小心。

于 2012-12-19T00:58:33.100 回答
3

以防其他人发现同样的问题。由于您在配置 ssh 时选择了 cyg_server 作为用户名,因此请尝试使用“ssh cyg_server@localhost”命令而不是默认的“ssh localhost”进行连接。密码可以和你配置时提供的一样

于 2012-10-16T06:53:35.213 回答
2

把它放在这里以防以后有人遇到这个问题。我遇到了同样的问题,重新安装 cygwin 解决了它......直到我重新启动。然后我又遇到了同样的错误。我现在第二次解决了这个问题:我没有使用 cygwin 在运行 ssh-host-config 时向我建议的帐户名称“cyg_server”,而是在 Windows 上输入了我的普通管理员帐户的名称。到目前为止似乎正在工作。

于 2012-08-01T10:34:02.777 回答
-4

我的问题解决了。我刚刚删除了 cygwin 并重新安装了它,现在它以某种方式正常工作。

于 2012-06-21T02:48:33.360 回答