服务器基本安全设置

添加个人用户

(本文统一使用ohmmx)

以root身份执行命令

adduser -m ohmmx

如果想要删除用户,以root身份执行命令

userdel -r ohmmx

添加用户鉴权

使用密码登录

sudo passwd ohmmx

输入两次密码确认以后,该用户可以使用密码进行登录。

使用SSHKey登录

创建 {$用户目录}/.ssh/authorized_keys (该路径可以在 /etc/ssh/sshd_config 中配置) 文件并存入,此处路径为 /home/ohmmx/.ssh/authorized_keys

其中 .ssh权限700,authorized_keys文件权限600。

以root身份更改文件所属者:

chown -R ohmmx:ohmmx .ssh

将本地客户端工具生成的公私钥对中的公钥存入文件,例如:

ssh-rsa AAAAB………2Q== ohmmx

其中两个等号后面为备注,标注该公钥是由ohmmx用户使用,多用户配置时该注释能清晰区分各用户对应公钥。

给用户添加SUDO权限

为避免日常使用root用户,在操作过程中产生的错误操作,日常建议使用个人用户,并添加sudo权限,在需要使用root身份的时候单独使用sudo权限执行命令。

以root身份执行命令

visudo

在 ## Allow root to run any commands anywhere 下面root用户下面添加一行内容:

ohmmx  ALL=(ALL)  ALL

这样在执行sudo命令时要求输入用户自己的个人密码;

也可以配置为不用输入密码直接执行sudo命令

ohmmx  ALL=(ALL)  NOPASSWD:ALL

关闭Selinux安全管理

Selinux为Linux系统内部用户账户控制设置模块,任何权限都需要配置申请,这里先将其关闭。

sudo vim /etc/selinux/config

将enforcing调整为disabled

SELINUX=disabled

调整SSH设置

sudo vim /etc/ssh/sshd_config

只对一些相对重要的参数进行说明:

Port 22

SSH链接端口,默认22,配置文件默认注释掉了。需要修改端口先去掉注释,并更改端口为指定数字。

ListenAddress 0.0.0.0

SSH监听地址,默认0.0.0.0。此处不用调整;如果需要调整,请学习局域网网关、网段相关知识。

PermitRootLogin yes

是否允许root用户通过SSH链接,默认允许。此处需要调整为no关闭,只允许个人用户通过SSH链接,如果需要root身份,可以使用sudo命令进行操作。

PubkeyAuthentication yes

是否允许通过公钥登录,默认允许。

AuthorizedKeysFile      .ssh/authorized_keys

公钥保存路径。修改此处配置,需要对应调整公钥文件路径。

PasswordAuthentication yes

是否允许通过密码登录,默认允许。可以将此处关闭,强制要求使用公钥登录。

X11Forwarding yes

图形化远程界面,默认允许。此处可以关闭,通常用不到。

防火墙设置(如果修改了SSH默认端口)

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

如果要以service的形式添加防火墙设置,将文件存放到/etc/firewalld/services/路径。(不要存放到/usr/lib/firewalld/services/路径,该路径在系统更新时会恢复默认值)。

/etc/firewalld/services/下的配置文件会覆盖掉/usr/lib/firewalld/services/路径下的配置,比如将/usr/lib/firewalld/services/ssh.xml复制到/etc/firewalld/services/ssh.xml并修改端口为2222,则ssh服务生效的就是2222端口。

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
此条目发表在系统分类目录,贴了, , 标签。将固定链接加入收藏夹。