Centos 7 修改SSH端口号

第一步:修改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端口。
修改端口时候最好挑10000~65535之间的端口号,10000以下容易被系统或一些特殊软件占用,或是以后新应用准备占用该端口的时候,却被你先占用了,导致软件无法运行。

第二步:设置selinux

如果你关闭了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 23154

完成后,再次查看

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

第三步:添加防火墙端口开放

如果你关闭了防火墙,可以忽略第三步,话说防火墙不开启太危险了,建议开启。
先查看防火墙是否开启了10086端口:

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

打印结果no表示没有开放10086端口,那么添加下该端口:

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

打印结果如下:success表示添加成功.
重新加载防火墙策略:

firewall-cmd –reload  

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

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

打印结果yes为执行成功

第四步:重启SSH服务和防火墙

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

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

第五步: 测试登录SSH

尝试用23154登录SSH,或者进入该服务器直接本地访问SSH如下:

ssh root@localhost -p 23154

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

补充说明:

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

netstat -lnp|grep 23154

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

2.查看是否开启了SELinux

sestatus -v  

如果输出结果为:

SELinux status:                 disabled

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

vim /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。

¥ 1.88
微信扫描即可打赏
服务器好贵
网站需要运营
给点小费以表支持
Centos 7 修改SSH端口号
地址: https://blog.6448.cn/archives/79.html
版权: 本站所有文章均可转载,请转载时保留原文出处。

评论已关闭