Como permitir login baseado em senha a partir de um determinado intervalo de IP, forçar outros a usar o PubKey

5

Gostaríamos de configurar um dos seus servidores RHEL para permitir login baseado em senha de nossa rede interna e proibir o uso de senhas para logins externos. Alguma idéia de como poderíamos conseguir isso sem executar outro daemon? A rede interna está em uma interface diferente, mas não vejo como configurar o SSHd para diferenciar entre as interfaces.

    
por Flyhard 19.01.2011 / 16:26

2 respostas

11

Você precisa da diretiva 'Match'. Algo como:

PasswordAuthentication no
Match Address 192.168.0.0/16
   PasswordAuthentication yes

Leia sshd_config (5) para detalhes.

Essa é a resposta para sua pergunta. No entanto, em geral, as chaves são provavelmente abordagens melhores do que as senhas por várias razões, e não menos importante, pela capacidade de usar o ssh-agent (1). Você pode querer considerar cuidadosamente se realmente tem uma razão válida para permitir senhas.

    
por 19.01.2011 / 17:25
0

Eu não acho que haja uma maneira de fazer isso com apenas um servidor ssh. Eu acho que a grande questão é por que você quer fazer isso? Existe alguma razão processual que você não pode simplesmente desautorizar senhas e usar chaves públicas o tempo todo?

Uma maneira de fazer isso é executar duas instâncias de sshd no servidor com configurações separadas e em portas diferentes. Use o iptables para permitir o acesso a um servidor em uma interface e um no outro, defina um para permitir somente senhas e outro para permitir somente a chave pública.

    
por 19.01.2011 / 17:17

Tags