OpenSSH “de” opção de autorização trabalhando somente com endereços IP, não com nomes de host

1

Estou usando o OpenSSH 6.7p1 no Debian 8 (Jessie).

Estou usando a autenticação de chave pública. Como parte disso, estou usando a opção de autorização "from" no meu arquivo authorized_keys.

Estou descobrindo que quando especifico o host de origem permitido pelo endereço IP, as restrições de acesso funcionam conforme o esperado. Mas quando especifico o host de origem permitido pelo nome do host, o acesso não é concedido. Ele ignora a autenticação de chave pública e solicita a senha.

A entrada de trabalho em authorized_keys é assim:

from="10.1.1.1" ssh-rsa ...

A entrada não funcional em authorized_keys é assim:

from="snoopy" ssh-rsa ...

O nome do host "snoopy" é resolvido pelo arquivo / etc / hosts. Eu não tenho um cliente DNS em execução em qualquer uma das máquinas envolvidas. A seguinte entrada aparece em / etc / hosts em ambas as máquinas invovled: 10.1.1.1 snoopy

Existe alguma maneira que eu possa fazer este trabalho, ou é uma limitação / problema com a minha versão OpenSSH?

    
por Dave 14.07.2017 / 20:54

1 resposta

2

Para o servidor OpenSSH, esse comportamento é controlado pela configuração "UseDNS" no arquivo sshd_config do servidor:

UseDNS
Specifies whether sshd(8) should look up the remote host name, and to check that the resolved host name for the remote IP address maps back to the very same IP address.
If this option is set to no (the default) then only addresses and not host names may be used in ~/.ssh/authorized_keys from and sshd_config Match Host directives.

Portanto, se você tiver acesso para configurar o servidor ssh, deverá ativar UseDNS no arquivo de configuração do servidor e, em seguida, reiniciar o sshd.

Observe que a ativação de UseDNS pode causar falhas na conexão ssh por um curto período (10 a 30 segundos) se a pesquisa de DNS no endereço IP do cliente estiver lenta ou não funcionar. Você pode achar melhor deixar essa configuração desativada.

    
por 14.07.2017 / 23:00