Centos7 修改SSH端口22为其它端口的方法
[p=30, 2, left]前言:开启某服务或软件的端口,要从该服务或软件监听的端口(多以修改配置文件为主),SeLinux和防火墙(FireWall)的安全策略下手。如果使用阿里云,腾讯等第三方服务器还需要对管理控制台的安全组下手。[/p][p=30, 2, left]下面进入主题,如果有什么问题请查看下面的补充栏:[/p][p=30, 2, left][b]第一步:修改SSH配置文件(注意是sshd_config而不是ssh_config,多了个d)[/b][/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]vim /etc/ssh/sshd_config
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]找到“#Port 22”,这一行直接键入“yyp”复制该行到下一行,然后把两行的“#”号即注释去掉,修改成:[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[align=right]2[/align]
[/td][td]Port 22
Port 10086
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]SSH默认监听端口是22,如果你不强制说明别的端口,”Port 22”注不注释都是开放22访问端口。上面我保留了22端口,防止之后因为各种权限和配置问题,导致连22端口都不能访问了,那就尴尬了。等一切都ok了,再关闭22端口。[/p][p=30, 2, left]Ok,继续,我增加了10086端口,大家修改端口时候最好挑10000~65535之间的端口号,10000以下容易被系统或一些特殊软件占用,或是以后新应用准备占用该端口的时候,却被你先占用了,导致软件无法运行。[/p][p=30, 2, left][b]第二步:如果你关闭了SELinux,可以忽略第二步。[/b][/p][p=30, 2, left]先查看SELinux开放给ssh使用的端口[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]semanage port -l|grep ssh
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]我的系统打印如下:[/p][indent][p=20, 2, left]ssh_port_t tcp 22[/p][/indent][p=30, 2, left]可知,SELinux没有给SSH开放10086端口,那么我们来添加该端口:[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]semanage port -a -t ssh_port_t -p tcp 10086
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]完成后,再次查看[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[align=right]2[/align]
[/td][td]semanage port -l|grep ssh
ssh_port_t tcp 22,10086
[/td][/tr]
[/table]
[/font]
[p=30, 2, left][b]第三步:如果你关闭了防火墙,可以忽略第三步,话说防火墙不开启太危险了,建议开启。[/b][/p][p=30, 2, left]先查看防火墙是否开启了10086端口:[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]firewall-cmd --permanent --query-port=10086/tcp
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]打印结果如下:[/p][indent][p=20, 2, left]no[/p][/indent][p=30, 2, left]表示没有开放10086端口,那么添加下该端口:[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]firewall-cmd --permanent --add-port=10086/tcp
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]打印结果如下:[/p][indent][p=20, 2, left]success[/p][/indent][p=30, 2, left]重新加载防火墙策略:[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]firewall-cmd --reload
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]执行成功后,查看10086端口是否被开启:[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]firewall-cmd --permanent --query-port=10086/tcp
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]打印结果如下:[/p][indent][p=20, 2, left]yes[/p][/indent][p=30, 2, left][b]第四步:重启SSH服务和防火墙,最好也重启下服务器[/b][/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[align=right]2[/align]
[align=right]3[/align]
[/td][td]systemctl restart sshd
systemctl restart firewalld.service
shutdown -r now
[/td][/tr]
[/table]
[/font]
[p=30, 2, left][b]第五步:尝试通过10086端口登录SSH,或者进入该服务器直接本地访问SSH如下:[/b][/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]ssh root@localhost -p 10086
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]如果成功,说明10086已经完全可以使用了,接下来你就可以根据上述步骤把sshd_config的Port22注释掉,SELinux和防火墙(Firewalld)关闭22端口就OK,大工造成![/p][p=30, 2, left]以下2017.11.27 补充更新--------->[/p][p=30, 2, left][b] 第六步:修改第三方服务器安全组策略。如果没有第三方服务器,上述已经完成了本文的目标,可以忽略第六步。下面直接上阿里云的示例图:[/b][/p][p=30, 2, center] [img=696,0]https://files.jb51.net/file_images/article/201807/2018727144935165.png?2018627144948[/img][/p][p=30, 2, left][b]补充栏-----------------------------------------------------------------------------[/b][/p][p=30, 2, left]1.查看某端口是否被占用,以10086为例:[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]netstat -lnp|grep 10086
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]如果没有任何打印,说明没有被占用。有打印的话,说明被占用了,一般会列出哪个进程占用。[/p][p=30, 2, left]2.查看是否开启了SELinux[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]sestatus -v
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]如果输出结果为:[/p][indent][p=20, 2, left]SELinux status: disabled[/p][/indent][p=30, 2, left]说明有打开,可以通过修改SELinux的配置开启或关闭它:[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]vim /etc/selinux/config
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]找到:[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]SELINUX=disabled
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]修改成:[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]SELINUX=enforcing
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]重启一下,就OK。[/p][p=30, 2, left]3.semanage命令无法使用,或说找不到该命令。说明没有配置该命令,可以进行以下命令进行安装:[/p][font=tahoma, arial, "][font=Consolas, "][url=https://www.jb51.net/article/144599.htm#]?[/url][/font]
[table=98%,none]
[tr=none][td][align=right]1[/align]
[/td][td]yum -y installpolicycoreutils-python-2.5-9.el7.x86_64
[/td][/tr]
[/table]
[/font]
[p=30, 2, left]关于它的依赖库我就不作赘述,可以百度下更全面的安装semanage教程。[/p][p=30, 2, left]4.CentOS7防火墙改为firewalld了,而不是iptables,对应的命令也请百度下,这里不作赘述。[/p]
CentOS 6修改SSH端口22为其它端口的方法
1.添加端口vim /etc/ssh/sshd_config
将#Port 22的注释去掉并且换行加入Port 443
如果是不是增加,而是修改端口的话,建议先保留22端口,等新端口可以登录再去掉。
443其实是https使用的端口,3128是squid使用的端口。建议使用大端口,比如10000~65535以上。
重启SSH服务 /etc/init.d/sshd restart
2.防火墙开启443端口
vi /etc/sysconfig/iptables
加入-A INPUT -m state state NEW -m tcp -p tcp dport 443 -j ACCEPT
重启防火墙 /etc/init.d/iptables restart
3.屏蔽默认端口
确认新端口可以使用后最好能屏蔽掉默认的22号端口
vi /etc/sysconfig/iptables
在
-A RH-Firewall-1-INPUT -m state state NEW -m tcp -p tcp dport 22 -j ACCEPT
前加#号注释掉
重启防火墙 /etc/init.d/iptables restart
成功! 支持,我认为你太厉害了 这么好的帖子不顶就太对不起楼主了 我也想了解了解!!!先顶一个
页:
[1]