ssh-keyscan не принимает опцию ProxyCommand из SSH. Поэтому прокси, настроенный для ssh, не настраивает автоматически отдельный сканер.

Один из вариантов — уже установленный локальный TCP-ретранслятор, который выполняет нужную аутентификацию прокси и обмен CONNECT, а затем открывает байтовый поток нужного сервера SSH. Если этот ретранслятор слушает на 127.0.0.1:2222:

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

Первая команда собирает ключи-кандидаты, вторая показывает их отпечатки. Ретранслятор должен пропускать поток SSH после исчерпания полного ответа прокси, а не передавать HTTP-заголовки сканеру.

Метка хоста в выводе описывает локальную конечную точку ретранслятора. Не добавляйте её без изменений и не считайте, что теперь она определяет удалённое имя хоста SFTP.

Проверьте отпечаток через доверенную запись или администратора, прежде чем связывать ключ с настоящим хостом и портом в known_hosts. ssh-keyscan собирает то, что предъявляет доступная конечная точка; успешное подключение через прокси не удостоверяет этот ключ.

Похожие статьи