Como posso determinar os MACs, cifras, comprimento da chave e KexAlogrithms suportados pelos meus servidores ssh?
Preciso criar uma lista para uma auditoria de segurança externa. Estou procurando algo parecido com openssl s_client -connect example.com:443 -showcerts
. De minha pesquisa, ssh
ele usa as cifras padrão listadas em man sshd_config
. No entanto, preciso de uma solução que possa usar em um script e . Preciso me corrigir aqui: Você pode especificar man sshd_config
não liste informações sobre o comprimento da chaveServerKeyBits
em sshd_config
.
Acho que isso ssh -vv localhost &> ssh_connection_specs.out
retorna as informações de que preciso, mas não tenho certeza se as cifras listadas são as cifras suportadas pelo cliente ou pelo servidor. Também não tenho certeza de como executar isso não interativo em um script.
Existe uma maneira conveniente de obter SSH
informações de conexão?
Parece que a resposta em https://superuser.com/a/1219759/173408 também é uma resposta à sua pergunta. Cabe em uma linha:
Aqui está a saída em uma máquina Debian 9.4 simples com a versão SSH atual:
Você perdeu alguns pontos em sua pergunta:
ServerKeyBits
é a opção para a versão 1 do protocolo, que esperamos ter desativado!Cifras, MACs e KexAlgorithms suportados estão sempre disponíveis no manual e isso não tem nada em comum com comprimentos de chave.
Chiphers habilitados , MACs e KexAlgorithms são os que são oferecidos usando conexão como você aponta. Mas eles também podem ser obtidos de outras maneiras, por exemplo, usando
sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"
Para obter o tamanho da(s) chave(s) do seu servidor, você pode usar ssh-keygen:
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
mas você provavelmente desejará também os tamanhos dos módulos que são oferecidos e usados durante a troca de chaves, mas isso realmente depende do método de troca de chaves, mas também deve ser legível a partir da saída de depuração
ssh -vvv host
.