强制每个用户的ssh端口

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

Port 2201
Port 2202

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

  • 我将如何限制他们只有自己的端口?

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

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

您必须为每个用户/端口组合(包括通常的configuration选项)ListenAddress和AllowUsers关键字创build一个单独的sshd_config。

sshd_config_2201

 ListenAddress 0:2201 AllowUsers user1 

sshd_config_2202

 ListenAddress 0:2202 AllowUsers user2 

等等

您需要使用-f开关为每个用户运行一次sshd以指定单个configuration文件。

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

 Match User user2, LocalPort 2201 DenyUsers user2 Match User user1, LocalPort 2202 DenyUsers user1 

我有一个类似的configuration运行,它工作得很好(没有说这是有意义的)。

顺便说一句:组合匹配和全球允许/拒绝规则不起作用 – 至less它不适合我。