CentOS 7 變更 SSH 埠號 (+SELinux 設定)


以資安的角度,一般上建議將 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

現在設定 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

除了開啟 SELinux 外,還要設定 firewalld 開啟埠號 2202:

重新載入 firewalld

# firewall-cmd –reload

沒有問題後可以重新啟動 SSH Server:

# systemctl restart sshd.service

更改 SSH 預設埠號後,在終端機連接到 SSH 要加上 -p 參數指定埠號,例如:

ssh -p 2202 root@192.168.1.10

One Response

  1. axer 28 August 2018

Leave a Reply