今天有个客户联系我说他购买的欧洲vps不能用root登录,我就纳闷了,怎么可能不能用root登录,于是我要了vps资料,一看原来是Ubuntu 系统,好吧,确实我们欧洲vps主机有的机房确实默认不支持root登录,只能使用自己创建的用户名和密码登陆然后再 sudo su。
之前觉得这样无可厚非,无非是多打一行命令的事情;后来发现非 Root 下安装的各类应用(比如 mySQL 这样的)很容易出现各种各样的权限问题,并且在使用 WinSCP 的时候需要同时在命令行端临时授权需要访问的目录,非常麻烦,所以决定重新为 Azure VM 启用 Root 用户。
之前刚开始接触 Azure 的时候在网上看了很多教程,但是都不得要领。后来通过目前已经退群泄愤的 @黎明余光指导,成功地启用了 Root 用户。在这里结合网上的教程(其实就是我记不住命令的意思),把相应的命令记录下来;方便以后自己和博客的其他访客直接操作。
Azure 里的 Ubuntu 模板应该是通过了 sshd_config 文件禁用了 Root 登陆,我们只需重新开启即可。
在这里我们需要使用 Linux 下流行的文件编辑器 Vim;其操作相当简单:首先 vim file.ext (这里的 file 是文件名,.ext 是文件后缀,Linux 上很多文件都没有后缀 但是依旧可以直接以文本的方式显示和被修改),就可以得到文件的一个大致预览;然后通过键盘上的方向键控制光标到达需要编辑的地方,按下键盘上的 Insert 进入输入模式,输入/删除 所需内容后,按下Esc 退出并输入 :wq 保存并退出。
以下是完整的命令:
1. 默认不带ssh,所以需要安装一下ssh
sudo apt install openssh-server
2 .设置root密码,ubuntu默认root密码是随机的,需要重置一下
sudo passwd root
3. 允许root用户登录,编辑sshd_config
sudo vim /etc/ssh/sshd_config 找到# Authentication项下的 PermitRootLogin prohibit-password改成PermitRootLogin yes
4.最后当然是选择原谅ubuntu啦,重启ssh搞定
sudo systemctl restart sshd
这样重新登陆 ssh 就可以用 Root 登陆了。