运行两个 SSH 服务器

运行两个 SSH 服务器

标题中提到的这个可以实现吗?我想为 SFTP 客户端运行一个 SSH 服务器(在其他端口上,例如 2121),还想为 SSH 客户端运行其他 SSH 服务器,这些服务器只允许使用密钥登录。有人知道如何实现吗?

谢谢

答案1

使用单独的配置文件并启动指定配置文件的其中一个服务器。要使用不同的文件,请使用-f选项,后跟要使用的配置文件。

如果要使其持久化,则需要创建init.d启动 sshd 的脚本副本,并对其进行修改以使用不同的 pid 和新的配置文件。较新的发行版使用不同的systemd控制文件,因此您需要为其创建新的副本。

您可能可以通过单个 sshd 和一个Match块来实现您想要的功能。(如 joschi 所述)。您需要将其他端口和/或地址添加到配置中。Match 只允许更改某些属性。请参阅文档以了解sshd.config命令可能输出的内容man sshd_config。您的 match 行可能如下所示:

Match LocalPort 1022

答案2

除了 BillThor 发布的解决方案(使用两个单独的配置文件)之外,你可能需要检查Match以下指令sshd_配置(5)可以用于根据用户/组/客户端 IP 地址应用不同的配置。

答案3

一种选择是使用带有 Alpine Linux 和 OpenSSH 的 Docker 容器。生成的映像大小不到 20MB,如果使用得当,额外的间接级别还可以提高安全性(如果它是面向互联网的服务器)。您sshfs还可以选择性地挂载远程文件系统。

相关内容