Linux如何修改远程访问端口

对于linux服务器而言,其默认的远程访问端口为22 。但是,出于安全方面的考虑,一般都会修改该端口 。下面我来简答介绍一下如何修改Linux服务器默认的远程访问端口 。
对于默认端口而言,其相关的配置位于/etc/ssh/sshd_config配置文件中,我们可以通过如下命令来进行编辑:
vi /etc/ssh/sshd_config接着找到Port参数,并将其值修改为自己设定的端口即可,如下所示:

Linux如何修改远程访问端口

文章插图
 
修改完毕后进行保存,接着执行如下命令重启sshd服务即可:
systemctl restart sshd或service sshd restart不过,有时候会重启sshd服务失败,此时可以通过下面的两个命令来查看对应的日志信息:
systemctl status sshdjournalctl -xe通过查看日志,发现报了如下所示的错误信息:
Linux如何修改远程访问端口

文章插图
 
通过查询相关资料后发现,重启sshd失败的原因在于修改之后的端口被selinux进行了限制 。因为selinux会对服务的一些特殊权限进行限制,当然也包括外部对某个端口的访问 。解决的办法有两个,要么直接关闭selinux,要么就在selinux中为sshd新增指定的端口 。
对于直接关闭而言,该方案简单而有效 。具体的做法大家可以参考我之前的一篇文章:在CentOS7上禁用或关闭selinux的方法 。但是,这会使得系统的安全性有所降低,因此在生产环境中要避免 。
对于新增sshd指定端口而言,虽然实现麻烦,但胜在保障了安全 。下面我来简单介绍一下如何在selinux中新增sshd的指定端口 。
首先需要执行如下命令来安装一个工具:
yum -y install policycoreutils-Python安装完毕后执行如下命令来查看selinux中对sshd设置的默认端口:
semanage port -l|grep ssh执行结果如下所示:
Linux如何修改远程访问端口

文章插图
 
从结果可知,selinux确实对sshd进行了限制,也就是限制其端口只能为22 。此时我们可以执行如下命令来新增一个端口,如:10086:
semanage port -a -t ssh_port_t -p tcp 10086执行完毕后,再次使用之前的命令查询sshd对应的端口,查询结果如下所示:
Linux如何修改远程访问端口

文章插图
【Linux如何修改远程访问端口】 
最后执行如下的命令让防火墙放行该端口即可:
# 防火墙放行端口firewall-cmd --add-port=10086/tcp --permanent# 重新加载防火墙配置firewall-cmd --reload当然,如果需要知晓更详细地关于防火墙的操作,可以参考我的另一篇文章:Linux系统中配置防火墙放行某个端口 。
到此,Linux服务器远程访问端口就已经修改完毕 。




    推荐阅读