我有一个 Ubuntu 14.04 droplet,PubkeyAuthentication
设置为yes
和PermitRootLogin
设置为否。自从我创建它以来,我的公钥一直运行良好。今天由于某种未知原因,它不接受我的公钥。
因此我通过 droplet 控制台登录来查看发生了什么(使用我的 root 密码即可)。
我首先重新生成了我的公钥,希望能够直接ssh-copy-id
登录服务器,但我一直只得到permission denied (publickey)
。
当那不起作用时,我将/etc/ssh/sshd_config
值设置PubkeyAuthentication
为no
和设置为,PermitRootLogin
这样yes
我就可以在我的客户端 MacbookPro 上再次获得提示。
[部分] 输出ssh jeitnier@[ip] -v
:
debug1: Authentications that can continue:
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/jeitnier/.ssh/jeitnier_aws
debug1: Authentications that can continue:
debug1: Trying private key: /Users/jeitnier/.ssh/id_rsa
debug1: Trying private key: /Users/jeitnier/.ssh/id_dsa
debug1: Next authentication method: keyboard-interactive
debug1: Authentications that can continue:
debug1: Next authentication method: password
jeitnier@[ip]'s password:
因此,我输入了与进入控制台时完全相同的密码,然后得到了Permission denied, please try again.
我已检查过我没有被锁定grep ^jeitnier /etc/shadow
。
我以前从未遇到过这种情况。下一步我可以尝试什么?
答案1
尝试一下:
重设密码
转到 droplet 的控制面板并选择“访问 -> 重置 Root 密码”。如页面所示,“这将关闭您的 droplet,并将设置新的 root 密码并通过电子邮件发送给您。”然后使用新密码通过 ssh 连接到 root@ip。不要忘记立即更改密码,因为通过电子邮件发送的密码不能被视为安全。
可能的信息
如果您收到有关丢失工作的信息,请不要担心。关闭 droplet 后,您不会丢失任何工作。
允许 jeitnier
当您编辑 /etc/ssh/sshd_config 时,您是否执行了 visudo 并在 # User 权限规范下添加了 jeitnier ALL=(ALL:ALL) ALL?另外,请确保已将 AllowUsers jeitnier 添加到 /etc/ssh/sshd_config 的底部。
如果仍然无法访问(仅使用)
如果仍然没有访问权限,请将 root 用户添加到 AllowUsers 行。