使用SSH登录时出现“Permission denied (publickey,password)”错误。

4
我正在尝试使用ssh登录服务器,但我发现我忘记了密码。我正在使用以下命令:
ssh root@this-is-my-domain.com

我不知道该怎么办,我搜索了解决方案但是没有帮助到我。我正在使用Ubuntu 14.04。 有什么帮助吗?


你的意思是你忘记了密钥文件的密码,但你是否也有此服务器用户的密码? - Xiongbing Jin
我忘记了本地计算机的ssh密码,但在Digital Ocean上我知道我的账户。 - EgzEst
4个回答

4

如果您没有使用SSH公钥,而只是忘记了root密码,那么您可以通过Digital Ocean控制面板来重置root密码。

如果您正在使用SSH公钥,并且忘记了该密钥的密码,则可以强制SSH使用您的Digital Ocean密码而不是密钥。

ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no user@host

我应该替换用户名和密码吗?抱歉问这个问题,但我有点困惑。 - EgzEst
你忘记的密码只是用于那个密钥文件。如果你认为自己永远都不会记得它,你完全可以删除该密钥文件(它位于你的主目录下的.ssh文件夹中),然后从远程服务器中删除相应的公钥,并在需要时替换为新的公钥。 - Xiongbing Jin
我澄清了我的回答。如果您只是忘记了此服务器的根密码,您可以在您的Digital Ocean控制面板中重置它。 - Xiongbing Jin

4
如果你在使用ssh登录时遇到“Permission denied”错误,可能需要编辑“/etc/ssh/sshd_config”文件。将“PasswordAuthentication”值更改为“yes”。
PasswordAuthentication yes

别忘了在此之后重新启动ssh:sudo service ssh restart - Jekis
2
这个必须在服务器端还是客户端上完成? - bmello
1
配置在服务器上完成,同时服务需要重新启动。 - IsaacE

2

我在尝试使用ssh连接另一台机器时遇到了类似的问题。以下步骤帮助我找到了解决方案:

1 -- sudo passwd root - 更改root密码(可选)

2 -- sudo install openssh-server

3 -- cd /etc/ssh

4 -- sudo nano sshd_config (现在取消注释PermitRootLogin并将其更改为yes, 取消注释Authorized keys file, 取消注释PasswordAuthentication并将其更改为yes)

5 -- sudo systemctl restart ssh

现在您可以轻松使用root帐户通过ssh连接。

6 -- su -

7 -- ssh root@设备的IP地址


0

你不应该尝试使用root登录,因为它默认被禁用。

如果你已经有了用户名和密码,请尝试使用它们进行登录。但是如果你的root用户已经启用,root有时是Ubuntu的默认密码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接