ssh-keyscan akzeptiert die ProxyCommand-Option von SSH nicht. Ein für ssh konfigurierter Proxy konfiguriert den separaten Scanner daher nicht automatisch.

Eine Möglichkeit ist ein bereits aufgebauter lokaler TCP-Relay, der die erforderliche Proxy-Authentifizierung und den CONNECT-Austausch abschließt und dann den Bytestrom des vorgesehenen SSH-Servers freigibt. Wenn dieser Relay auf 127.0.0.1:2222 lauscht:

ssh-keyscan -p 2222 127.0.0.1 > candidate.keys
ssh-keygen -lf candidate.keys

Der erste Befehl sammelt Kandidatenschlüssel, der zweite zeigt deren Fingerabdrücke an. Der Relay muss den SSH-Strom weiterleiten, nachdem er die vollständige Proxy-Antwort verarbeitet hat, statt HTTP-Header an den Scanner zu übergeben.

Die Hostbezeichnung in der Ausgabe beschreibt den lokalen Endpunkt des Relays. Hängen Sie sie nicht unverändert an, und nehmen Sie nicht an, dass sie nun den entfernten SFTP-Hostnamen bezeichnet.

Prüfen Sie den Fingerabdruck über einen vertrauenswürdigen Eintrag oder einen Administrator, bevor Sie den Schlüssel dem echten Host und Port in known_hosts zuordnen. ssh-keyscan sammelt, was der erreichbare Endpunkt präsentiert; eine erfolgreiche Proxy-Verbindung authentifiziert diesen Schlüssel nicht.

Ähnliche Artikel