root@localhost 权限被拒绝

root@localhost 权限被拒绝

我安装ssh在我的 Ubuntu 14.04 中。我按照教程生成ssh密钥。我使用以下命令设置密钥。

ssh-keygen -t rsa -P "" 
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

当我ssh以普通用户身份在本地主机上输入时,它不会要求输入任何密码并且它工作正常,但是当我以 root 身份执行时,它会要求输入 root@localhost 密码并且我的 root 密码不起作用。

这是我到目前为止通过访问 stack-overflow.com 和 AskUbuntu 问题所尝试的有关此错误的一些方法。

  • sudo su每个人都建议到时候设置密码passwd。我试过了。我设置了密码,但是不起作用。我试了好几次。
  • 我尝试ssh-add以 root 身份运行,但是它说 Could not open a connection to your authentication agent
  • ssh-keygen -t rsa -P  我尝试通过以下方式以 root 身份生成密钥cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys。执行此操作后,启动时 ssh localhost 系统要求输入 root@localhost 密码,但不接受我的 root 密码。
  • 我尝试将其更改PermitRootLogin为是和withoutpassword。都没有用。
  • 我为 AllowUsers root 添加了新属性sshd_config。但它也没有用。

我将非常感激您的帮助。

答案1

您添加授权密钥的方式并未将用户的密钥添加到 root 的授权密钥中。您已将自己的密钥添加到您的授权密钥中,并将 root 的密钥添加到 root 的授权密钥中。请改为:

sudo tee -a /root/.ssh/authorized_keys  < ~/.ssh/id_rsa.pub 

相关内容