Esta resposta aplica-se ao OpenSSH. O OpenWRT inclui o Dropbear por padrão, então você precisaria substituí-lo, conforme este link (basicamente, instale openssh-server
e desative dropbear
).
Com o OpenSSH, o que você gostaria é possível usando dois mecanismos possíveis:
- Separe as configurações de
sshd
para suas interfaces de LAN e WAN. Isso só funcionará bem se você tiver um IP de WAN estático (não é possível dizer asshd
para ouvir uma interface específica, apenas um IP específico). - Permitir apenas a autenticação de senha para clientes na sua LAN.
Opção 1:
No arquivo de configuração da LAN (por exemplo, /etc/ssh/sshd_config
, o arquivo padrão) você teria algo como:
PasswordAuthentication yes
Listen 192.168.1.1:22
No arquivo de configuração da WAN (por exemplo, /etc/ssh/sshd_config_wan
:
PasswordAuthentication no
Listen 10.1.1.1:22
Acima, 192.168.1.1 é o IP da sua interface LAN, 10.1.1.1 seu endereço IP da WAN e, em ambos os casos, 22 a porta para escutar. Você pode especificar o arquivo de configuração para carregar usando a opção -f
para sshd
. Você precisará copiar o script init padrão para um novo e alterá-lo para chamar sshd
com -f /etc/ssh/sshd_config_wan
.
Opção 2:
Em /etc/ssh/sshd_config
, coloque isso no fim do arquivo:
PasswordAuthentication no
Match address 192.168.1.0/24
PasswordAuthentication yes
Aqui, você está desabilitando a autenticação de senha, exceto os endereços na sua LAN (assumido aqui como 192.168.1.0/24).