强制每用户 ssh 端口

Nic*_*ick 3 linux debian ssh port

我想允许通过不同的端口访问服务器上的每个用户。例如; user1 只能通过端口 2201 被 ssh 访问,用户 2 只能通过端口 2202 访问。我已经通过编辑“/etc/ssh/sshd_config”并添加两行允许通过端口 2201 和 2202 访问:

Port 2201
Port 2202

两个用户现在都可以通过两个端口(和 22)访问 ssh。

  • 我如何将他们限制在他们自己的端口上?

(另外),用户 [root 除外] 没有任何自动创建的“~/.ssh/”目录,所以我创建了一个目录并尝试添加一个配置文件和一个 authorized_keys 文件 - 这些似乎没有任何区别。

操作系统是 debian 挤压和提前致谢。

dus*_*BLN 6

有一个解决方案。您可以使用两个匹配条件:一个在第一个端口上阻止用户 2,另一个在第二个端口上阻止用户 1。应该是这样的:

Match User user2, LocalPort 2201
   DenyUsers user2

Match User user1, LocalPort 2202
   DenyUsers user1
Run Code Online (Sandbox Code Playgroud)

我有一个类似的配置在运行,它运行得很好(不用说它是有意义的)。

顺便说一句:结合匹配和全局允许/拒绝规则不起作用 - 至少它对我不起作用。

  • @CatherineMacInnes 请注意,回答仍然有效且现在有更好答案的旧问题应该会得到新答案。只要答案有效,就不会弄乱任何主屏幕。谷歌仍然发现这个老问题,我现在有了一个有效的答案! (4认同)