MENU

by • 2020年2月13日 • Linux学习评论 (0)10

Linux CentOS 修改默认SSH端口禁止root登录

现在网络扫描和攻击越来越多,很多黑客用程序在不停的扫描网络服务器常用的端口,所以我们一定要给自己的 linux VPS 做好基础的安全措施,今天先来说一下如何修改 centOS 默认端口

默认的 centOS 默认端口是 22,时间久了你会找到很多日志文件,这是扫描攻击留下的错误日志。那么今天我们要做的就是改成只有自己知道的数字,这样降低了被扫描到的几率,也就等于提高了安全性。

1、登陆 SSH 修改配置文件,输入如下命令

<code class="language-none">vi /etc/ssh/sshd_config
</code>

会出现如下提示,大家能够看到#port 22,代表默认端口 22。按下键盘的 a,vi 命令中 a 是编辑,你按下 a 之后进入编辑状态,这时候可以用键盘的上下键移动绿色光标并用键盘的 delete 键删除前面的#号了。

小提示:为什么要先把 port 22 前面的 # 去掉呢?因为在配置文件中,# 是 linux 的注释,凡是#后的代码都不会执行。而 SSH 默认的端口为 22,所以配置文件在默认的情况下以#出现。当你需要更改为其它端口或添加多端口同时 SSH 访问时,就要删掉注释符号,让程序能够执行你的命令。

2、如下图按回车另起一行手动添加 12366 端口(自定义端口建议选择 5 位数端口如:10000-65535 之间 ),保留 22 是为了防止防火墙屏蔽了其它端口导致无法连接 VPS,比如你注释了端口 22,新添加的 12366 端口防火墙也没放行,那么恭喜你给自己挖坑了,可能下次你就无法通过 SSH 连接 VPS 了。为了防止这种尴尬的情况发生,就要给自己留条后路,等到新端口可以正常连接 SSH 了,再删除 22 端口也不迟。

这时候按键盘的“ESC”键退出当前状态,再输入“:wq”命令保存退出。

3、以上修改完后,重启 SSH 服务,并退出当前连接的 SSH 端口。命令如下:

<code class="language-none">service sshd restart
</code>

4、SSH 软件里面把 22 端口改成 12366 端口再连接 VPS 试试看。

在 Xshell 中点击文件,打开,弹出“会话”窗口,修改端口号为 12366。

然后保存、连接,这时候悲催的发现连不上 VPS 了,分析了一下是因为没有把 12366 端口添加到 VPS 的防火墙里面导致的,好在刚才给自己留了后门!所以再重复上面第四步把 Xshell 的端口号改回到 22,登陆到 VPS 上面。

5、现在要做的是把 12366 端口添加到防火墙列表里面去。Vi 编辑器打开防火墙列表的命令如下:

<code class="language-none">vi /etc/sysconfig/iptables
</code>

按下键盘的 a,进入 vi 命令的编辑状态,回车另起一行使用上下键和 delete 键配合添加 12366 端口。不需要明白那些命令是什么意思,照着 22 端口原样输入一遍,只把端口从 22 改为 12366 就可以了,注意 linux 是区分大小写的。

添加新端口之后,按下键盘的“ESC”退出当前状态,再输入:“:wq”命令保存退出。

6、修改了防火墙列表之后也得重启一下防火墙,命令如下:

<code class="language-none">service iptables restart
</code>

7、现在输入防火墙状态查看命令如下

<code class="language-none">service iptables status


</code>

如下图防火墙规则里面已经有 12366 端口了。

8、现在重复上面第 4 步里面的修改 SSH 软件端口的步骤,改为 12366 端口,连接 VPS。弹出提示中选择“接受并保存”,以后再连接 VPS 就不会有这个提示了。

当新端口能正常登陆后,重复上面第一步的操作,把刚才留的后门 22 端口删除掉。然后按照上面第三步的命令重启 SSH。

9、禁止root登录,添加其他用户使用su切换到root用户

使用linux 特殊的用户组wheel:

在一般情况下,一般用户通过执行“su -”命令、输入正确的root密码,可以登录为root用户来对系统进行管理员级别的配置。

但是,为了更进一步加强系统的安全性,有必要建立一个管理员的 组,只允许这个组的用户来执行“su -”命令登录为root用户,而让其他组的用户即使执行“su -”、输入了正确的root密码,也无法登录为root用户。在UNIX和Linux下,这个组的名称通常为“wheel”。

1: 添加一个用户

<code class="language-none">[root@xuegod.com ~]# useradd user1

[root@xuegod.com ~]# passwd user1
</code>

2: 把user1用户加入Wheel组:

<code class="language-none">[root@xuegod.com ~]# usermod -g wheel user1
</code>

3: 修改/etc/pam.d/su配置

<code class="language-none">[root@xuegod.com ~]# vi /etc/pam.d/su

#auth required pam_wheel.so use_uid← 找到此行,去掉行首的“#”
</code>

4: 修改/etc/login.defs文件

<code class="language-none">[root@xuegod.com ~]# echo “SU_WHEEL_ONLY yes” &gt;&gt; /etc/login.defs
</code>

如何禁止root用户ssh登录机器,方法如下:

1.修改文件 /etc/ssh/sshd_config

取消#PermitRootLogin yes前面的“#”号,并把yes改为”no“

2.service sshd restart

OK!

今天的主题是修改 centOS 的默认端口,但是涉及到的命令挺多,下面总结一下。

vi 编辑器的简单应用,a 是编辑,:wq 是保存并退出,键盘“ESC”按键是退出当前状态。键盘的上下键和 delete 键删除添加。

编辑 SSH 配置文件的命令:vi  /etc/ssh/sshd_config

重启 SSH 的命令:service sshd restart

查看防火墙状态命令:service iptables status

编辑防火墙列表的命令:vi /etc/sysconfig/iptables

重启防火墙命令:service iptables restart

在输入命令的时候需要注意 linux 是区分大小写的。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注