重置根密码后无法login到Linux服务器

今天我重置root用户的密码。 我通过SSH连接后。 在重置密码的同时,我确切地input了记事本中的内容。 紧接着,当我尝试用相同的密码再次连接ssh时,它不工作。 然后我改变了其他账户的密码,其他账户也一样。 幸运的是我有一个更多的帐户与root权限,所以我仍然可以通过SSH访问服务器。 由于其生产服务器,我不能重新启动,或试用CD。 我多次尝试多次重置密码。 之间我该死的确定我input了确切的密码。

我敢打赌真正的美国货币,你错误地input你的密码沿线(也许是大写locking,或者你用相同的方式发两次,或任何其他的可能性 – 无论你的密码是什么原因认为是)。

解决方法是在单用户模式下重启(谷歌可以给你调用,但基本上只添加到你的正常启动参数),或者 – 如果你的发行版需要root密码进入单用户模式 ​​- 重新启动Live CD或救援盘来更改root的密码。


更改重要密码( root )时的一般良好build议:保留自己login到更改密码的terminal的root ,并尝试使用新密码在其他位置login(或su ) – 通过SSH,在不同的虚拟terminal上,等等 – 确保它能正常工作。
有一次,你遇到这样的问题(并可以修复根密码,因为你仍然以root身份login)将值得额外的一分钟是偏执狂:)

正如其他人所说,这可能是一个错误的types或大写locking或类似的。

解决scheme是切换到SSH的公钥authentication。 这也更加安全 – 任何使用SSH的面向公众的服务器可能每天都会收到数百个恶意的基于密码 – 字典的login尝试(检查您的SSHD日志)。

每当我做任何可能会影响login的更改时 – 在注销之前,我将打开一个新的会话到同一台服务器,并检查login是否有效。 只有这样才能退出原始会话。 这包括对.login .profileloginshell,SSHconfiguration,防火墙规则等的任何更改。

一般来说,我不允许SSHlogin特权帐户,使用非特权用户和sudo或su来代替。

你可能错误地input了一些东西。

如果您问“我该如何解决这个问题?”,那么通常的步骤是将您的系统启动到单用户模式,修复密码,然后重试。 如何启动到单用户模式根据您的分布有所不同,但这是一个好的开始。

您还可以利用单用户模式查看您的日志,看看是否有任何其他的失败login说明。

你的sshd_config文件应该有一行PermitRootLogin 。 我敢打赌,它no附加到最后。 这样,无论是否拥有正确的root密码,都不能以root身份login。 这是一个安全措施; 这是需要的,因为root拥有比普通用户更多的权限。

但是,假设您仍然想以root身份login,那么您可以更改该行,以便它是PermitRootLogin yes

可能的原因是忘记密码,但要注意,我会在注销之前重新启动SSH服务器。

确保在sshd_config设置了PermitRootLogin yes