Как я могу определить поддерживаемые MAC, шифры, длину ключа и KexAlogrithms, поддерживаемые моими ssh-серверами?
Мне нужно создать список для внешнего аудита безопасности. Я ищу что-то похожее на openssl s_client -connect example.com:443 -showcerts
. Из моего исследования ssh
используются шифры по умолчанию, как указано в man sshd_config
. Однако мне нужно решение, которое я могу использовать в скрипте, и в нем . Я должен исправить себя здесь: Вы можете указать man sshd_config
нет информации о длине ключаServerKeyBits
в sshd_config
.
Я предполагаю, что ssh -vv localhost &> ssh_connection_specs.out
возвращает нужную мне информацию, но я не уверен, являются ли перечисленные шифры шифрами, поддерживаемыми клиентом или сервером. Также я не уверен, как запустить этот неинтерактивный скрипт.
Есть ли удобный способ получить SSH
информацию о соединении?
ssh -vv
выводит поддерживаемую функциональность как клиент-сервер (ctos) и сервер-клиент (stoc). Однако, похоже, что эти результаты ограничены тем, что поддерживают обе стороны, что делает их менее полезными для аудита безопасности.
sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"
как предлагает @Jakuje, работает только на хостах RHEL7, но не на RHEL6. Я закончил тем, что использовалnmap --script SSH2-hostkey localhost
иnmap --script ssh-hostkey localhost