一、新建一个用于ssh登录的用户
创建新用户clowlido。
为clowlido设置密码。
二、限制可以切换到root的用户
仅允许wheel组的用户切换到root。
auth required pam_wheel.so use_uid
去掉上面这行前面的#。
在文末添加这行。
gpasswd -a clowlido wheel
把新用户clowlido加入wheel组。
查询所有wheel组的用户。
到这里可以从root下,切换到clowlido,然后测试sudo和su -l是否正常。
切换到新建的clowlido用户
测试sudo是否有效,输入root密码后,如果执行了ls,为正常。
切换到root,输入root密码后,切换root的login shell,为正常。
三、配置ssh使用自定义端口
目标是要禁止root及其他用户远程登录,但是首先要确定使用新建的clowlido用户可以通过ssh登录。
如果你没测试就禁用了root,之后发现所有用户都无法登录,就太欢乐了。
VPS还好,有Console或VNC。实体机只能跑去机房本地操作。
断开现有ssh连接或新建连接,确认clowlido可以通过ssh登录。
登录后切换到root继续操作。
修改ssh协议版本和端口号。
使用sshv2协议。
修改ssh端口为20001。
firewall-cmd --permanent --zone=public --add-port=20001/tcp
防火墙开放新ssh端口20001。
防火墙重载,使配置生效。
重启sshd服务。
确认clowlido可以ssh新端口20001登录。登录后切换到root继续操作。
关闭原来ssh默认的22端口。
firewall-cmd --list-ports
查看是否开启了22端口。
firewall-cmd --permanent --remove-port=22/tcp
如果看到22的话,移除端口。
如果没有看到22的话,估计是开放的服务。
firewall-cmd --list-services
查看firewall开放的服务。
看到ssh的话,就确认是服务了。
vi /usr/lib/firewalld/services/ssh.xml
修改firewalld的ssh.xml。
<port protocol="tcp" port="20001"/>
将端口改为新端口20001。
firewall-cmd --permanent --zone=public --remove-port=20001/tcp
因为使用服务,所以把之前添加的端口移除。
防火墙重载,使配置生效。
接下来对登录用户进行限制。
增加下面两条。
禁止root远程登录,VPS控制台或本地可以登录。
放最后即可,仅允许clowlido用户登录。
重启sshD服务。
结束。