是否可以让 sshd 仅在某些端口接受密码?

是否可以让 sshd 仅在某些端口接受密码?

我知道可以sshd使用多个Port指令来监听多个端口。但是,是否可以单独调整每个端口的设置?具体来说,是否可以让一个端口允许密码验证,而另一个端口不允许密码验证?

答案1

这可以通过指令来实现Match

在 中/etc/sshd_config声明多个端口:

Port 22
Port 2222

然后,在文件的最末尾添加以下内容:

Match LocalPort 2222
PasswordAuthentication no

所有设置将在端口之间共享,但端口 2222 上的密码验证将被禁用。

答案2

单一sshd进程,我不这么认为,但设置第二个配置文件并运行两个sshd监听器应该相当容易,一个在密码端口上,另一个在非密码端口上。

相关内容