SSH
Проба на сыром TCP, не HTTP — address это host или host:port, без
схемы. Порт по умолчанию — 22, если не указан. Читает
идентификационную строку, которую любой SSH-сервер отправляет без
запроса сразу после установления соединения (RFC 4253 §4.2) — без
аутентификации, без обмена ключами, просто TCP-соединение.
Не привязана к одному вендору: OpenSSH, Dropbear и всё остальное,
говорящее по транспортному протоколу SSH, идентифицирует себя
одинаково, поэтому продукт называется общим ssh, а не отдельной
пробой на каждую реализацию.
targets: - id: bastion-main product: ssh address: bastion.example.com:22Аутентификация
Заголовок раздела «Аутентификация»Отсутствует — баннер отправляется ещё до какого-либо шага аутентификации.
Что здесь означает «версия»
Заголовок раздела «Что здесь означает «версия»»version — это программная строка ровно в том виде, в каком её сообщил
сервер, например OpenSSH_10.3 или OpenSSH_9.6p1, а не
нормализованный номер: ssh охватывает несколько никак не связанных
между собой реализаций. Любой хвостовой комментарий дистрибутива
(например, суффикс Ubuntu Ubuntu-3ubuntu13.18) отбрасывается, а не
считается частью версии.
Записываемые поля
Заголовок раздела «Записываемые поля»version— программная строкаextra.protocol— версия протокола SSH, например2.0
Резолвер жизненного цикла
Заголовок раздела «Резолвер жизненного цикла»Отсутствует — ssh не один продукт с одним календарём жизненного
цикла: у OpenSSH и Dropbear свои собственные, а Meta пробы статичен
независимо от того, что именно окажется на конкретном таргете. Только
инвентаризация.