解决root远程无法登陆ubuntu服务器

时间:2022-2-5    作者:E.R.T.    分类:


在登陆服务器的时候,特别是新购买的服务器的时候,使用root账户登陆,即使输入了正确的密码,也还一遍一遍的需要输入密码的话,那就说明,是服务器并没有开通root的远程登陆权限。

登陆界面 - Ert.icu

频繁要求输入密码 - Ert.icu

当遇到这个问题的时候,就需要进入云服务商后台进行在线设置。
这里以腾讯云服务器为例进行设置。
首先登陆腾讯云服务网站,扫码并认证以后。进入到实例界面。并单击对应服务器的登陆链接。

云服务器实例 - Ert.icu

在这里,使用QQ浏览器的时候,要注意弹窗拦截。

注意弹窗拦截 - Ert.icu

进入控制面板以后,可以看到,腾讯云服务器的默认用户名是ubuntu

默认用户名ubuntu - Ert.icu

输入我们在创建服务器的时候填写的密码。点击登陆。
登陆成功以后,可以在命令终端里,看到用户名是ubuntu

进入终端后的用户名是ubuntu - Ert.icu

我们接下来要作的分别是

修改root用户名的密码

修改sshd配置文件

第一步,修改root用户名的密码。
命令输入:

sudo passwd root

在下面输入root用户的密码,在这里要注意,输入的时候,命令终端不会有任何反应。所以,在这里不能按错任何一个键,甚至退格键都不行。如果输入错了,直接打两遍回车。

修改root密码 - Ert.icu

输入完第一遍以后,打回车,再输入一遍,注意,得和前面一遍完全一样,包括大小写。输入完以后,打回车。

修改成功 - Ert.icu

当我们在代码里看到

passwd: password updated successfully

以后,就代表密码已经修改成功了。

密码修改不成功是这样的提示。

密码错误 - Ert.icu

可以再次输入sudo passwd root进行修改。

密码修改完成后,有的机器可以直接从本地进行root远程登陆,而绝大多数机器不能从本地远程登陆到服务器。
这是因为服务器的sshd配置文件限制root用户远程登陆服务器导致的,在这里,我们可以在服务器上对sshd的配置文件进行修改,以达到让root用户远程登陆服务器的目的。

输入命令sudo nano /etc/ssh/sshd_config并打回车。
进入到配置文件修改界面。

nano - Ert.icu

先介绍一下服务器的nano命令。
Linux的nano命令功能对标的是Windows的记事本功能。
可以简单的把他理解为Linux上的记事本。

操作方法
  • 光标的移动

    使用键盘的 键进行移动光标。
    移动到对应位置以后,可以输入文字或删除文字。

  • 功能操作

    保存Ctrl + o 直接回车可以保存。不想保存可以在Ctrl + o后按Ctrl + c退出保存界面。
    退出Ctrl + x 为退出nano编辑器,如果存在未保存的操作,会提示是否保存,按Y保存,按N不保存,按Ctrl + c取消退出动作。

编辑sshd - Ert.icu

我们需要在这个配置文件中编辑如下两个参数。

  • 去掉#Port 22前面的#号修改为Port 22
  • 修改#PermitRootLogin prohibit-passwordPermitRootLogin yes,注意删除前面的#号。

下面为修改后的sshd.config配置文件

修改后的sshd - Ert.icu

修改完以后 Ctrl + o 回车 Ctrl + x即可退出编辑状态。

之所说推荐使用nano来进行配置文件编辑而不使用vim等其它编辑命令,主要是因为nanovim对Linux新人操作起来更友好。

退出以后,再输入命令

sudo service sshd restart

重启sshd登陆服务。

重启服务 - Ert.icu

重启成功以后,没有任何提示信息。

这时,我们再从客户端使用root和刚刚设置的密码进行登陆。

登陆成功 - Ert.icu

成功。


如果觉得我的文章有用,还请支持我一下!

你的支持,就是我继续下去的动力!

请支持我继续下去

收藏

扫描二维码,在手机上阅读