É possível que o sshd aceite senhas apenas em determinadas portas?

24

Eu sei que é possível sshdouvir em várias portas usando várias Portdiretivas. É possível ajustar independentemente as configurações por porta, no entanto? Em particular, é possível ter uma porta para permitir a autenticação de senha, mas outra porta não a permite?

Laurence Gonsalves
fonte
1
A propósito: a razão pela qual estou fazendo isso é que desejo permitir senhas na minha LAN, mas não na WAN. Meu firewall WAN permite apenas conectar-se à porta mais restritiva.
Laurence Gonsalves
1
Consulte também restrição por endereços IP, se você preferir usar o número da porta padrão.
ændrük

Respostas:

32

Isso pode ser realizado com a Matchdiretiva.

Em /etc/sshd_config, declare várias portas:

Port 22
Port 2222

Em seguida, no final do arquivo, adicione o seguinte:

Match LocalPort 2222
PasswordAuthentication no

Todas as configurações serão compartilhadas entre as portas, exceto a autenticação de senha, que será desativada na porta 2222.

Laurence Gonsalves
fonte
+1 Muito interessante
Carlos Campderrós 14/10
Pena Matchque não funciona AllowUsers. Para qualquer pessoa que precise restringir usuários a uma porta específica, é provável que você esteja preso à execução de várias sshdinstâncias.
22414 Bob
0

sshdNão acredito que seja um processo único , mas deve ser bastante fácil configurar um segundo arquivo de configuração e executar dois sshdouvintes, um nas portas de senha e o outro nas portas que não são de senha.

John
fonte
3
Eu descobri que realmente existe uma maneira de fazer isso com uma única instância do sshd. Veja a resposta que eu postei. Obrigado mesmo assim.
Laurence Gonsalves