如何无需密码即可通过 ssh 登录 localhost

如何无需密码即可通过 ssh 登录 localhost

我的操作系统是OSX。当我执行ssh localhost时,总是询问我密码。但我不知道密码。如何在没有密码的情况下登录。

    ➜  ~  rm -rf ~/.ssh 
    ➜  ~  ssh-keygen
    ➜  ~  ls -lstra ~/.ssh 
    total 16
    8 -rw-r--r--   1 abc  staff   418 Jun 28 19:58 id_rsa.pub
    8 -rw-------   1 abc  staff  1679 Jun 28 19:58 id_rsa
    0 drwx------   4 abc  staff   136 Jun 28 19:58 .
    0 drwxr-xr-x+ 63 abc  staff  2142 Jun 28 19:58 ..
    ➜  ~  ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is 09:80:bd:41:32:39:a4:ed:c4:b6:89:f8:8c:b7:94:9e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
Password:

我的 ssh 调试输出。

➜  .ssh  ssh -v localhost 
    OpenSSH_5.9p1, OpenSSL 0.9.8y 5 Feb 2013
    debug1: Reading configuration data /etc/ssh_config
    debug1: /etc/ssh_config line 20: Applying options for *
    debug1: Connecting to localhost [127.0.0.1] port 22.
    debug1: Connection established.
    debug1: identity file /Users/abc/.ssh/id_rsa type 1
    debug1: identity file /Users/abc/.ssh/id_rsa-cert type -1
    debug1: identity file /Users/abc/.ssh/id_dsa type -1
    debug1: identity file /Users/abc/.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 09:80:bd:41:32:39:a4:ed:c4:b6:89:f8:8c:b7:94:9e
    debug1: Host 'localhost' is known and matches the RSA host key.
    debug1: Found key in /Users/abc/.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: Offering RSA public key: /Users/abc/.ssh/id_rsa
    debug1: Authentications that can continue: publickey,keyboard-interactive
    debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa
    debug1: Authentications that can continue: publickey,keyboard-interactive
    debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa
    debug1: Authentications that can continue: publickey,keyboard-interactive
    debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa
    debug1: Authentications that can continue: publickey,keyboard-interactive
    debug1: Trying private key: /Users/abc/.ssh/id_dsa
    debug1: Next authentication method: keyboard-interactive
    Password:

答案1

您必须将密钥(内容id_rsa.pub)添加到~/.ssh/authorized_keys

相关内容