Como posso determinar os MACs, cifras, comprimento de chave e KexAlogrithms suportados pelos meus servidores ssh?
Preciso criar uma lista para uma auditoria de segurança externa. Estou à procura de algo parecido com openssl s_client -connect example.com:443 -showcerts
. Da minha pesquisa, o ssh
usa as cifras padrão, conforme listado em man sshd_config
. No entanto, preciso de uma solução que possa ser usada em um script e . Preciso me corrigir aqui: você pode especificar man sshd_config
não lista informações sobre o comprimento da chaveServerKeyBits
in sshd_config
.
Eu acho que 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 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?
ssh -vv
gera a funcionalidade suportada como cliente para servidor (ctos) e servidor para cliente (stoc). No entanto, parece que essas saídas são limitadas ao que os dois lados suportam, tornando-as menos úteis para uma auditoria de segurança.
sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"
Aconteceu que, conforme sugerido por @Jakuje, funciona apenas em hosts RHEL7, mas não no RHEL6. Acabei usandonmap --script SSH2-hostkey localhost
enmap --script ssh-hostkey localhost