以資安的角度,一般上建議將 SSH 預設的 22 埠號變更為其他埠號,而選擇埠號時則盡量使用 1024 以上的埠號,以及不要與其他系統服務的埠號相撞。
RHEL 及 CentOS 的 SSH Server 設定檔是 /etc/ssh/sshd_config, 以下會設定 SSH 的埠號為 2202, 先開啟 SSH 設定檔:
# vi /etc/ssh/sshd_config
找到以下一行:
# Port 22
改為
Port 2202
儲存檔案後離開編輯器。
在設定 SELinux 前, 需要安裝 semanage:
# yum provides semanage
# yum -y install policycoreutils-python
# yum -y install policycoreutils-python
現在設定 SELinux,SELinux 預設只允許 SSH 使用埠號 22, 執行以下指令開啟埠號 2202: (如果你設定的埠號不是 2202, 要將指令修改)
# semanage port -a -t ssh_port_t -p tcp 2202
設定後可以執行 semanage 檢查是否開啟 2202 埠號:
# semanage port -l | grep ssh
ssh_port_t tcp 2202, 22
ssh_port_t tcp 2202, 22
除了開啟 SELinux 外,還要設定 firewalld 開啟埠號 2202:
1 |
# firewall-cmd --permanent --zone=public --add-port=2202/tcp |
重新載入 firewalld
# firewall-cmd –reload
沒有問題後可以重新啟動 SSH Server:
# systemctl restart sshd.service
更改 SSH 預設埠號後,在終端機連接到 SSH 要加上 -p 參數指定埠號,例如:
ssh -p 2202 root@192.168.1.10
感謝您,有參考到