本文是對(duì) How To Change OpenSSH Port On CentOS 7 的簡(jiǎn)單翻譯雹锣,部分內(nèi)容有更改。
一些網(wǎng)站管理員認(rèn)為心软,更改默認(rèn)為 22 的 SSH 端口號(hào)可以增強(qiáng)安全性壕吹。這是因?yàn)槊總€(gè)人都知道 SSH 默認(rèn)端口號(hào)是 22,當(dāng)然也包括黑客删铃,所以是不安全的耳贬。
將 SSH 端口號(hào)更改為 22 以外的其他值將增強(qiáng)服務(wù)器的安全性,因?yàn)閴娜瞬粫?huì)知道 SSH 通信的端口猎唁。這是一個(gè)很酷的技巧咒劲,但不會(huì)阻止那些決心闖入你服務(wù)器的人。
只需使用簡(jiǎn)單的端口掃描程序或類似工具,黑客就可以找出服務(wù)器上的所有連接端口腐魂。這是一項(xiàng)古老的技術(shù)帐偎,可能在我們今天的時(shí)間里不適用。
在我看來(lái)蛔屹,保護(hù) SSH 服務(wù)器的最佳方法是使用證書和加密實(shí)現(xiàn)無(wú)密碼登錄削樊。使用此方法,只允許已使用加密密鑰的計(jì)算機(jī)使用 SSH 協(xié)議登錄兔毒。
另一種方法是通過(guò)將該計(jì)算機(jī)的 IP 地址放到防火墻白名單中漫贞,來(lái)將防火墻配置為僅允許來(lái)自預(yù)定義計(jì)算機(jī)的 SSH 連接。其他任何東西都不會(huì)更好地增強(qiáng)您的服務(wù)器安全性育叁。
以下是更改步驟迅脐。
-
首先,備份 SSH 配置文件
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
-
開(kāi)始修改配置文件
sudo vi /etc/ssh/sshd_config
修改內(nèi)容擂红,可以把端口修改為你想要修改的值:
這里可以在保留 22 端口的情況下仪际,先增加一個(gè)新端口,以確标侵瑁可以通過(guò)新端口連接树碱,然后再禁用掉 22 端口。
# If you want to change the port on a SELinux system, you have to tell # SELinux about this change. # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER # Port 22 Port 2244 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress ::
保存文件变秦,在完成修改之前成榜,不要退出登錄。
-
默認(rèn)情況下蹦玫,SELinux 只允許端口 22 用于 SSH赎婚,現(xiàn)在需要做的是通過(guò) SELinux 啟用新創(chuàng)建的端口。執(zhí)行以下命令:
sudo semanage port -a -t ssh_port_t -p tcp 2244
如果執(zhí)行以上命令后報(bào)錯(cuò):
semanage command not found
樱溉,執(zhí)行這條命令來(lái)安裝semanage
:sudo yum -y install policycoreutils-python
安裝成功后挣输,再次執(zhí)行第一條命令,通過(guò) SELinux 來(lái)允許新端口福贞。
-
執(zhí)行以下命令允許新端口通過(guò)防火墻撩嚼。
sudo firewall-cmd --permanent --zone=public --add-port=2244/tcp
如果報(bào)錯(cuò):
FirewallD is not running
,表示防火墻還沒(méi)有開(kāi)啟挖帘,執(zhí)行以下命令來(lái)開(kāi)啟防火墻:systemctl enable firewalld systemctl start firewalld
然后查看防火墻狀態(tài):
systemctl status firewalld # 或者以下命令 firewall-cmd --state
-
重新加載防火墻配置完丽。
sudo firewall-cmd --reload
-
重啟 SSH 服務(wù)。
sudo systemctl restart sshd.service
查看 sshd 狀態(tài)拇舀,看添加的端口是否生效逻族。
systemctl status sshd.service
-
或者通過(guò)運(yùn)行以下命令驗(yàn)證 SSH 現(xiàn)在是否在新端口上運(yùn)行。
ss -tnlp | grep ssh
-
退出并嘗試使用新端口號(hào)登錄骄崩。
ssh root@192.168.0.1 -p 2244
禁用 22 端口聘鳞。
重啟 SSH 服務(wù)薄辅。
另外,如果使用的是阿里云的 ECS搁痛,有一個(gè)安全組規(guī)則长搀,可以設(shè)置入方向和出方向的端口。這里只要在入方向里面添加上面配置的新端口即可鸡典。