ssh-keyscan accepteert de ProxyCommand-optie van SSH niet. Een proxy die voor ssh is geconfigureerd, configureert de aparte scanner dus niet automatisch.

Een oplossing is een al opgezette lokale TCP-relay die de vereiste proxy-authenticatie en CONNECT-uitwisseling afrondt en vervolgens de bytestroom van de bedoelde SSH-server blootlegt. Als die relay luistert op 127.0.0.1:2222:

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

Het eerste commando verzamelt kandidaatkeys; het tweede toont hun vingerafdrukken. De relay moet de SSH-stroom doorlaten nadat hij het volledige proxy-antwoord heeft verbruikt, in plaats van HTTP-headers aan de scanner te geven.

Het hostlabel in de uitvoer beschrijft het lokale eindpunt van de relay. Voeg het niet ongewijzigd toe en ga er niet van uit dat het nu de externe SFTP-hostnaam identificeert.

Controleer de vingerafdruk via een vertrouwd record of een beheerder voordat je de sleutel aan de echte host en poort in known_hosts koppelt. ssh-keyscan verzamelt wat het bereikbare eindpunt presenteert; een geslaagde proxyverbinding authenticeert die sleutel niet.

Gerelateerde artikelen