root @ localhost权限被拒绝ssh

我在我的Ubuntu 14.04中安装了ssh。 我遵循一个生成ssh密钥的教程。 我用下面的命令来设置键。

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

当我inputssh localhost作为普通用户时,它不会要求input任何密码,而且它可以正常工作,但是当它以root身份执行时,它会询问root @ localhost密码,而且我的root密码不起作用。

这是我迄今为止尝试访问一些关于这个错误的stackoverflow.com问题。

  1. 每个人都build议通过“sudo su”然后“passwd”来创build一个密码。 我尝试过这个。 我创build了一个密码,它不工作。 我试了几次。

  2. 我尝试了“ssh-add”作为根,但它说Could not open a connection to your authentication agent

  3. 我试图通过执行ssh-keygen -t rsa -P ""生成密钥,然后cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys 。 这样做后,当我启动ssh localhost它要求root @ localhost密码,它不接受我的根密码。

  4. 我试着将PermitRootLogin更改为yes和withoutpassword。 两者都没有工作。

  5. 我添加了一个新的属性到sshd_config说AllowUsers root 。 它也没有工作。

提前致谢。 我真的很感谢一些帮助。

如果你没有给root用户密码,而你试图在spark或者haddop上启动命令,比如./sbin/stop-all.sh或者./sbin/start-all.sh 。 如果你没有root密码,你可以使用

 sudo passwd 

和消防命令。