#!/bin/bash
# Bereitschaft von sshd: auf dem wirksamen Port (aus "sshd -T", Vorgabe 22)
# kommt das SSH-Banner ("SSH-2.0-..."). Das ist die Antwort, die ein Client
# zuerst sieht -- nicht nur "Port offen". bash wegen /dev/tcp.
#
# Die Bereitschaft haelt sshd NICHT auf: s6-notifyoncheck meldet nur; ssh ist
# der Rettungsanker, und nichts in der Unit darf den Start verhindern (siehe run).
port=$(/usr/sbin/sshd -T 2>/dev/null | awk '$1=="port"{print $2; exit}')
exec 3<>"/dev/tcp/127.0.0.1/${port:-22}" || { echo "Port ${port:-22} nicht erreichbar"; exit 1; }
IFS= read -r -t 3 banner <&3
exec 3<&-
case "$banner" in
  SSH-2.0-*) exit 0 ;;
  *) echo "kein SSH-Banner auf ${port:-22}: '${banner}'"; exit 1 ;;
esac
