Einen SSH-Schlüssel über einen vorhandenen Proxy-Relay scannen
Sammeln Sie Kandidaten-Hostschlüssel über einen lokalen TCP-Relay und bewahren Sie dabei die Unterscheidung zwischen der Bezeichnung des Relays und dem echten SSH-Host.
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.keysDer 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.