linux7.6 更改远程端口教程

- 编辑:admin -

1、修改SSH配置文件(注意是sshd_config而不是ssh_config,多了个d)

vim /etc/ssh/sshd_config

找到“#Port 22”,这一行直接键入“yyp”复制该行到下一行,然后把两行的“#”号即注释去掉,修改成

Port 22
Port 10086

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

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

 

2、如果你关闭了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
     (如果没有samanager命令,yum安装:yum -y install policycoreutils-python)

3、开启或者关闭指定的端口

查询有哪些端口是开启的:

firewall-cmd --list-port

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

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

打印结果如下:

no

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

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

或者用 firewall-cmd --permanent --zone=public --add-port=新端口/tcp 这个命令
打印结果如下:

success

重新加载防火墙策略:

firewall-cmd --reload

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

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

 打印结果如下:

yes

关闭指定端口:

1
2
firewall-cmd --zone=public --remove-port=80/tcp --permanent            //关闭端口
firewall-cmd --reload                                                                   //重新载入,使其生效

  然后,通过上面的查询命令,查看端口是否关闭即可!

 

4、重启SSH服务和防火墙,最好也重启下服务器

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

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

ssh root@localhost -p 10086

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

 

SELinux 开放和关闭端口(不关闭SELinux)

semanage port -d -t http_port_t -p tcp 5002 关闭http策略的5002端口。
-d是关闭策略的这个端口。
semanage port -d -t ssh_port_t -p tcp 10086

 


 

补充栏:

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

netstat -lnp|grep 10086

 2、查看是否开启了SELinux;

sestatus -v

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

vim /etc/selinux/config

找到:

SELINUX=enforcing

修改为:

SELINUX=disabled

即可关闭SELinux!

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

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

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

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