SSH:localhost在成功登录后关闭连接

时间:2012-08-20 20:51:55

标签: ssh terminal osx-server

当我尝试ssh到localhost时,它接受公钥并立即关闭连接。我已经浏览了几个小时的谷歌搜索结果,但没有任何进展。这是我在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。

3 个答案:

答案 0 :(得分:23)

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

答案 1 :(得分:3)

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

答案 2 :(得分:0)

这在Cygwin中使用Windows在大域中起作用了:

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

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