Como configurar a autenticação de chave sem senha do SSH somente para acesso remoto, permitindo que os usuários locais usem senhas

6

Estou tentando obter um servidor SSH executando o Ubuntu 10.04 para permitir logons de senha somente quando provenientes da rede local. Para todos os outros usuários, especialmente aqueles que se conectam pela Internet através do firewall, eu quero forçar a autenticação baseada em chave. Eu pesquisei e encontrei o seguinte.

Veja o que eu mudei em /etc/ssh/sshd_config :

PasswordAuthentication yes
Match Address 192.168.5.0/24
PasswordAuthentication yes

Com isso, faço login de outra máquina que tem 192.168.5. endereço, mas não vai me permitir por falta de uma publicKey: Permissão negada (publickey).

    
por senorsmile 26.04.2011 / 23:35

2 respostas

9

Isso deve funcionar:

PubkeyAuthentication yes
PasswordAuthentication no
Match Address 192.168.5.* PasswordAuthentication yes

As duas primeiras linhas ativarão a autenticação pubkey por padrão. A última linha substituirá as outras duas linhas da rede correspondente (192.168.5.0/24).

    
por 26.04.2011 / 23:48
2

A nova linha após a condição de correspondência é significativa. Isso deve funcionar:

PasswordAuthentication no
Match Address 192.168.5.0/24
PasswordAuthentication yes

EDIT: Estou surpreso que a outra resposta funcionou! Não funcionou para mim. Bem, desta forma você deve ser capaz de usar uma máscara de rede CIDR.

    
por 27.04.2011 / 00:02