ssh-keyscan nie akceptuje opcji ProxyCommand SSH. Dlatego proxy skonfigurowane dla ssh nie konfiguruje automatycznie osobnego skanera.

Jednym rozwiązaniem jest już ustanowiony lokalny przekaźnik TCP, który wykonuje wymagane uwierzytelnienie proxy i wymianę CONNECT, a następnie udostępnia strumień bajtów docelowego serwera SSH. Jeśli ten przekaźnik nasłuchuje na 127.0.0.1:2222:

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

Pierwsze polecenie zbiera kandydujące klucze, drugie pokazuje ich odciski palców. Przekaźnik musi przepuścić strumień SSH po skonsumowaniu pełnej odpowiedzi proxy, zamiast przekazywać nagłówki HTTP do skanera.

Etykieta hosta w danych wyjściowych opisuje lokalny punkt końcowy przekaźnika. Nie dopisuj jej bez zmian i nie zakładaj, że teraz identyfikuje zdalną nazwę hosta SFTP.

Zweryfikuj odcisk palca przez zaufany zapis lub administratora, zanim powiążesz klucz z rzeczywistym hostem i portem w known_hosts. ssh-keyscan zbiera to, co prezentuje osiągalny punkt końcowy; udane połączenie przez proxy nie uwierzytelnia tego klucza.

Powiązane artykuły