向 ~/.ssh/authorized_keys 添加公钥不会让我自动登录 [英] Adding a public key to ~/.ssh/authorized_keys does not log me in automatically

查看:64
本文介绍了向 ~/.ssh/authorized_keys 添加公钥不会让我自动登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将公共 SSH 密钥添加到 authorized_keys 文件中.ssh localhost 应该让我登录而不要求输入密码.

I added the public SSH key to the authorized_keys file. ssh localhost should log me in without asking for the password.

我这样做并尝试输入 ssh localhost,但它仍然要求我输入密码.是否需要通过其他设置才能使其正常工作?

I did that and tried typing ssh localhost, but it still asks me to type in the password. Is there another setting that I have to go through to make it work?

我已按照更改权限的说明进行操作:

I have followed the instructions for changing permissions:

下面是如果我执行 ssh -v localhost 的结果.

Below is the result if I do ssh -v localhost.

debug1: Reading configuration data /home/john/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to localhost [127.0.0.1] port 22.
debug1: Connection established.
debug1: identity file /home/john/.ssh/identity type 1
debug1: identity file /home/john/.ssh/id_rsa type -1
debug1: identity file /home/john/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.7p1 Debian-8ubuntu3
debug1: match: OpenSSH_4.7p1 Debian-8ubuntu3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc 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: Host 'localhost' is known and matches the RSA host key.
debug1: Found key in /home/john/.ssh/known_hosts:12
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /home/john/.ssh/identity
debug1: Server accepts key: pkalg ssh-rsa blen 149
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>

然后它在上面的日志之后要求一个passphase.为什么不输入密码就不能登录?

Then it asks for a passphase after the above log. Why isn't it logging me in without a password?

推荐答案

您需要验证authorized_keys文件及其所在文件夹/父文件夹的权限.

You need to verify the permissions of the authorized_keys file and the folder / parent folders in which it is located.

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

有关更多信息,请参阅此页面.

For more information see this page.

您可能还需要更改/验证主目录的权限以删除组和其他人的写访问权限.

You may also need to change/verify the permissions of your home directory to remove write access for the group and others.

chmod go-w ~

这篇关于向 ~/.ssh/authorized_keys 添加公钥不会让我自动登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆