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



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

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

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中添加行Port 5522,并可以对此conf文件进行任何所需的更改。

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

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

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

相关内容

  • 没有找到相关文章

最新更新