
Quero permitir que qualquer pessoa acesse o SSH com uma chave de identidade válida, MAS permitir que apenas um endereço IP tenha acesso por senha SSH.
Como eu faço isso?
(Estou rodando no Centos 5.5)
Responder1
Você pode facilmente usar a Match
declaração (vejasshd_config(5)) para distinguir entre clientes e permitir que exatamente um cliente (por exemplo, identificado pelo seu endereço IP) faça login com sua senha em vez de ter uma chave SSH.
Responder2
http://www.softpanorama.org/Commercial_linuxes/Security/linux_pam.shtml#News
Modifique pam para fazer isso. Eu nunca tento isso.
Responder3
Você poderia executar 2 sshds
1 - execute normalmente a partir do init, apenas autenticação de chave (definida em sshd_config)
2 - execute a partir do xinetd (http://www.itech7.com/Linux/How-to-configure-SSHD-on-Xinetd) escutando em uma porta diferente (por exemplo, 2222) com um sshd_config separado etc e essa porta está configurada com seu firewall local (iptables/qualquer) para permitir acesso apenas do IP que você deseja.