CentOS 7修改SSH连接端口并配置iptables防火墙

前言:
开启某服务或软件的端口,要从该服务或软件监听的端口(多以修改配置文件为主),SeLinux和防火墙(FireWall)的安全策略下手。
如果使用阿里云,腾讯等第三方服务器还需要修改管理控制台的安全组或者安全策略。
下面进入主题:

第一步:修改SSH配置文件(注意是sshd_config而不是ssh_config,多了个d)
我用的是nano,不会的可以用原生应用vi或者vim。没安装nano的可以运行

yum install -y nano

安装nano后,具体步骤:

nano /etc/ssh/sshd_config

修改为:

Port 22 
Port 10086

SSH默认监听端口是22,如果你不强制说明别的端口,”Port 22”注不注释都是开放22访问端口。上面我保留了22端口,防止之后因为各种权限和配置问题,导致连22端口都不能访问了,那就尴尬了。等一切都ok了,再关闭22端口。

Ok,继续,我增加了10086端口,大家修改端口时候最好挑10000~65535之间的端口号,10000以下容易被系统或一些特殊软件占用,或是以后新应用准备占用该端口的时候,却被你先占用了,导致软件无法运行。

第二步:如果你关闭了SELinux,可以忽略第二步。

先查看SELinux开放给ssh使用的端口

semanage port -l|grep ssh

我的系统打印如下:

ssh_port_t tcp 22

可知,SELinux没有给SSH开放10086端口,那么我们来添加该端口:

semanage port -a -t ssh_port_t -p tcp 10086

完成后,再次查看

semanage port -l|grep ssh ssh_port_t tcp 22,10086

第三步:如果你关闭了防火墙,可以忽略第三步,话说防火墙不开启太危险了,建议开启。

先查看防火墙是否开启了10086端口:

firewall-cmd --permanent --query-port=10086/tcp

打印结果如下:

no

表示没有开放10086端口,那么添加下该端口:

firewall-cmd --permanent --add-port=10086/tcp

打印结果如下:

success

重新加载防火墙策略:

firewall-cmd --reload

执行成功后,查看10086端口是否被开启:

firewall-cmd --permanent --query-port=10086/tcp

打印结果如下:

yes

第四步:重启SSH服务和防火墙,最好也重启下服务器

systemctl restart sshd
systemctl restart firewalld.service
shutdown -r now

第五步:尝试通过10086端口登录SSH,或者进入该服务器直接本地访问SSH如下:

ssh root@localhost -p 10086

如果成功,说明10086已经完全可以使用了,接下来你就可以根据上述步骤把sshd_config的Port22注释掉,SELinux和防火墙(Firewalld)关闭22端口就OK,大工造成!

以下补充更新--------->

第六步:修改第三方服务器安全组策略。如果没有第三方服务器,上述已经完成了本文的目标,可以忽略第六步。下面直接上阿里云的示例图:

---------------补充---------------

1.查看某端口是否被占用,以10086为例:

netstat -lnp|grep 10086

如果没有任何打印,说明没有被占用。有打印的话,说明被占用了,一般会列出哪个进程占用。

2.查看是否开启了SELinux

sestatus -v

如果输出结果为:

SELinux status:                 disabled

说明有打开,可以通过修改SELinux的配置开启或关闭它:

nano /etc/selinux/config

找到:

SELINUX=disabled

修改成:

SELINUX=enforcing

重启一下,就OK。

3.semanage命令无法使用,或说找不到该命令。说明没有配置该命令,可以进行以下命令进行安装:

yum -y installpolicycoreutils-python-2.5-9.el7.x86_64

关于它的依赖库我就不作赘述,可以百度下更全面的安装semanage教程。

4.CentOS7防火墙改为firewalld了,而不是iptables,对应的命令也请百度下,这里不作赘述。

$  systemctl restart sshd

退出 ssh 会话后,再用新的端口连接:

都完毕以后,把22端口从防火墙删除,命令如下:

firewall-cmd --zone=public --remove-port=22/tcp --permanent #关闭22端口
systemctl restart sshd
firewall-cmd --reload # 配置立即生效

   

黑公网安备 23010302001330 黑ICP备16006342号

Copyright © 2005 淘主机 Taohost.com , All Rights Reserved

淘主机供应商:WHMCS管理系统金盾防火墙阿里云VEDNS 安全软件推荐: 服务器安全狗

 
QQ在线咨询
售前咨询热线
021-80392966
售后服务热线
021-80392966