對于linux服務(wù)器而言,其默認(rèn)的遠(yuǎn)程訪問端口為22。但是,出于安全方面的考慮,一般都會(huì)修改該端口。下面我來簡答介紹一下如何修改Linux服務(wù)器默認(rèn)的遠(yuǎn)程訪問端口。
對于默認(rèn)端口而言,其相關(guān)的配置位于/etc/ssh/sshd_config配置文件中,我們可以通過如下命令來進(jìn)行編輯:
vi /etc/ssh/sshd_config
接著找到Port參數(shù),并將其值修改為自己設(shè)定的端口即可,如下所示:
修改完畢后進(jìn)行保存,接著執(zhí)行如下命令重啟sshd服務(wù)即可:
systemctl restart sshd
或
service sshd restart
不過,有時(shí)候會(huì)重啟sshd服務(wù)失敗,此時(shí)可以通過下面的兩個(gè)命令來查看對應(yīng)的日志信息:
systemctl status sshd
journalctl -xe
通過查看日志,發(fā)現(xiàn)報(bào)了如下所示的錯(cuò)誤信息:
通過查詢相關(guān)資料后發(fā)現(xiàn),重啟sshd失敗的原因在于修改之后的端口被selinux進(jìn)行了限制。因?yàn)閟elinux會(huì)對服務(wù)的一些特殊權(quán)限進(jìn)行限制,當(dāng)然也包括外部對某個(gè)端口的訪問。解決的辦法有兩個(gè),要么直接關(guān)閉selinux,要么就在selinux中為sshd新增指定的端口。
對于直接關(guān)閉而言,該方案簡單而有效。具體的做法大家可以參考我之前的一篇文章:在CentOS7上禁用或關(guān)閉selinux的方法。但是,這會(huì)使得系統(tǒng)的安全性有所降低,因此在生產(chǎn)環(huán)境中要避免。
對于新增sshd指定端口而言,雖然實(shí)現(xiàn)麻煩,但勝在保障了安全。下面我來簡單介紹一下如何在selinux中新增sshd的指定端口。
首先需要執(zhí)行如下命令來安裝一個(gè)工具:
yum -y install policycoreutils-Python
安裝完畢后執(zhí)行如下命令來查看selinux中對sshd設(shè)置的默認(rèn)端口:
semanage port -l|grep ssh
執(zhí)行結(jié)果如下所示:
從結(jié)果可知,selinux確實(shí)對sshd進(jìn)行了限制,也就是限制其端口只能為22。此時(shí)我們可以執(zhí)行如下命令來新增一個(gè)端口,如:10086:
semanage port -a -t ssh_port_t -p tcp 10086
執(zhí)行完畢后,再次使用之前的命令查詢sshd對應(yīng)的端口,查詢結(jié)果如下所示:
最后執(zhí)行如下的命令讓防火墻放行該端口即可:
# 防火墻放行端口
firewall-cmd --add-port=10086/tcp --permanent
# 重新加載防火墻配置
firewall-cmd --reload
當(dāng)然,如果需要知曉更詳細(xì)地關(guān)于防火墻的操作,可以參考我的另一篇文章:Linux系統(tǒng)中配置防火墻放行某個(gè)端口。
到此,Linux服務(wù)器遠(yuǎn)程訪問端口就已經(jīng)修改完畢。