我安装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