在 Linux 中使用自定义规则在多个端口上运行 SSH 服务

在 Linux 中使用自定义规则在多个端口上运行 SSH 服务

我正在努力设置一台在多个端口上运行 SSH 服务的服务器,例如端口 22 和 5522,这些端口应该有一组不同的规则,即: 我们为端口 22 添加的规则不应与规则冲突对于端口 5522。

答案1

最初,可以通过将以下行添加到 来使 SSH 服务侦听多个端口/etc/ssh/sshd_config

Port 22
Port 5522

在这种情况下,您不能为不同的端口定义不同的规则。

我能找到的解决方案之一是创建一个新服务来在端口 5522 上运行 SSH 服务,然后将该服务作为守护进程运行。

为此,请按照以下步骤操作:-

  1. 创建SSH服务的副本并命名,这里我将副本命名为sshd_config_custom
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_custom
  1. 同样,也创建该服务的副本。
cp /lib/systemd/system/ssh.service /lib/systemd/system/sshd-custom.service
  1. 使用任何舒适的编辑器打开/lib/systemd/system/sshd-custom.service并更改
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS

ExecStart=/usr/sbin/sshd -D $SSHD_OPTS -f /etc/ssh/sshd_config_custom

Alias=sshd.service

Alias=sshd-custom.service

保存并退出文件。

  1. 现在,您可以在 /etc/ssh/sshd_config_custom 中添加端口 5522 行,并可以对此 conf 文件进行任何所需的更改。

  2. 启用并启动我们创建的自定义服务。

systemctl enable sshd-custom.service
systemctl start sshd-custom.service

如果还有其他建议请告诉我

相关内容