Centos

在 CentOS 6.2 版(最終版)上在多個埠上執行 SSHD

  • January 6, 2022

我正在執行 CentOS 6.2 版(最終版)。

我想要監聽 22 和 1022 埠的 sshd 埠。

我在 /etc/ssh/sshd_config 中添加了以下幾行:

Port 22
Port 1022

並重新啟動 sshd 並關閉 iptables 但是我無法連接到埠 1022 上的 sshd。

即使我執行以下操作

#Port 22
Port 1022

sshd 繼續監聽 22 埠,不監聽 1022 埠。我嘗試了除 1022 之外的其他埠值,但沒有運氣。

幫助!

如果您使用的是 CentOS 5,您描述的配置確實有效,但快速測試表明 CentOS 6 上的 sshd 不會綁定到 1023 以下的任何埠,但 22 除外 - 我目前找不到這方面的參考。如果您想在多個埠上訪問 sshd,請選擇一個 >=1024。


更新 - 這與 SELinux 有關。目前策略不允許 sshd 綁定到 1023 以下的非標準埠(如實驗所證實),例如

semanage port -l | grep 22
ssh_port_t                     tcp      22

如果您想添加一個額外的埠 <=1023,您必須在 SELinux 中明確允許它

semanage port -a -t ssh_port_t  -p tcp 1022
semanage port -l | grep 22
ssh_port_t                     tcp      1022, 22

然後重啟sshd

netstat -tnlp
tcp      0    0 0.0.0.0:22          0.0.0.0:*             LISTEN      25376/sshd
tcp      0    0 0.0.0.0:1022        0.0.0.0:*             LISTEN      25376/sshd

引用自:https://serverfault.com/questions/460625