10

当我尝试 ssh 进入 localhost 时,它接受公钥并立即关闭连接。我已经浏览了几个小时的 Google 结果页面,但没有任何进展。这是我得到的ssh -v user@localhost

OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/user/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to localhost [::1] port 22.
debug1: Connection established.
debug1: identity file /Users/user/.ssh/id_rsa type -1
debug1: identity file /Users/user/.ssh/id_rsa-cert type -1
debug1: identity file /Users/user/.ssh/id_dsa type 2
debug1: identity file /Users/user/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9
debug1: match: OpenSSH_5.9 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
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: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 67:2f:0b:c8:40:e8:87:0f:57:ee:c7:68:ae:8a:5a:02
debug1: Host 'localhost' is known and matches the RSA host key.
debug1: Found key in /Users/user/.ssh/known_hosts:1
debug1: ssh_rsa_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,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/user/.ssh/id_rsa
debug1: Offering DSA public key: /Users/user/.ssh/id_dsa
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: read PEM private key done: type DSA
Connection closed by ::1

我正在运行 OSX 10.8,通过终端使用 ssh。

4

3 回答 3

26

好的,所以最终起作用的是明确允许来自user. 设置System Prefs > Sharing > Remote Login > Allow access for:All Users不起作用;相反,我必须检查Only these users:并手动添加所有用户。希望这可以帮助其他有同样问题的人。

于 2012-08-20T23:31:33.743 回答
3

很久以前,我在使用 Telnet 时遇到过同样的问题,如果我没记错的话,问题是用户在 /etc/passwd 中没有主目录。我假设您正在尝试创建无密码连接,对吗?当你用谷歌搜索时,这里有一个很好的解释:http: //diuf.unifr.ch/main/tech/node/57 另外,这里有一个解释如何快速使无密码连接http://greg -n-blog.blogspot.com/search/label/scp

于 2012-08-20T21:14:26.133 回答
0

这在 Cygwin 中使用 Windows 在大型域中对我有用:

将您的 Windows 用户 ID 添加到/etc/passwd. 您可以通过键入 $ 来获取它mkpasswd -d | grep [username]。在大型域中,您可能需要等待几个小时。

确保给出的用户 ID/etc/passwd与 $ 中的用户 ID 匹配id -u,并且组 ID 与管理员的用户 ID 匹配/etc/group

于 2013-04-15T20:10:40.967 回答