服务器设置为root登录设置方案以及linux系统下的root和SSH、sshd

前言

写这篇博客是因为使用腾讯云服务器,
腾讯云服务器ubuntu系统默认的登录用户是ubuntu而不是root,
而阿里云华为云都是root,所以有些不习惯。

实在不想配置一堆东西可以每次使用:

sudo su - root   切换到root
exit 退出root

想使用sudo免密码的话可以编辑/etc/sudoers文件

sudo vi /etc/sudoers
然后
会有很多类似
%sudo   ALL=(ALL:ALL)  这种
给谁加NOPASSWD谁就可以免密

比如下图这种,用户ubuntu可以免密切到root

但是,还是用root比较舒服,虽然真的不太好,如果是个人服务器不建议直接长期用root,云服务器上不放一些重要的东西就无所谓了。


关于root
Linux中,root是超级用户,是超级管理员账号。
windows其实也有,administrator。
root可以使用系统里的所有东西、访问所有文件、运行任何命令。
日常任务大多是不需要root权限的。

但是root权限同时也很危险,错误的命令可能会破坏掉系统,所以Ubuntu和其他基于Ubuntu发行版默认锁定root用户。
如果你想启用root用户,可以为它设置密码:

sudo passws root

如果你设置了密码,最好不要忘记,不然也挺麻烦的。
可以通过移除密码来锁定root用户:

sudo passwd -dl root

同样禁用其他用户也可以通过移除密码的方式。
如果禁用以root管理员的身份远程登录到服务器可以大大降低被黑客暴力破解密码的几率。


root登录腾讯云服务器设置

首先设置root的密码

sudo passwd root

再修改sshd_config文件

sudo vi /etc/ssh/sshd_config

找到如下图内容:

去掉前面的#的注释,将PermitRootLogin no 改为yes,就和上图一样
修改好保存

重启ssh

sudo service ssh restart

这样就已经可以使用root登录服务器了

题外话:
这个文件里还有一个useDNS项,
useDNS特性是SSH服务的安全增强特性,默认未开启。开启后服务端会先根据客户端IP进行DNS PTR反向查询,得到客户端主机名。再根据得到的客户端主机名进行DNS正向A记录查询,最后对比得到的IP与原始IP是否一致,用以防止客户端欺骗。
通常情况下,客户端使用的都是动态IP,没有相应的PTR记录。所以,该特性开启后,不仅无法用于信息比对,反而由于相关查询操作增加了操作延迟,最终导致客户端连接速度变慢。


关于sshd和SSH

SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议。
也是目前远程管理Linux系统的首选方式。
在次之前,一般使用FTP或者Telnet来进行远程登录,但是这些以明文的形式在网络中传输账户密码和数据信息,所以很不安全。

使用SSH协议来远程管理服务程序,需要部署配置sshd服务程序。
sshd是基于SSH协议开发的一款远程管理服务程序,可以提供两种安全的验证方法:

  • 基于口令的验证:账户和密码验证登录。
  • 基于密钥的验证:需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;该方式更安全一些。

Linux系统中sshd服务的配置信息保存在/etc/ssh/sshd_config文件中。
下图是配置文件里的参数:

想让配置参数生效需要去掉前面的注释#号。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页