Перейти к содержимому

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 пробы статичен независимо от того, что именно окажется на конкретном таргете. Только инвентаризация.