Як я можу визначити підтримувані 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