Сканирование ключа SSH через существующий прокси-ретранслятор
Собирайте ключи-кандидаты хостов через локальный TCP-ретранслятор, сохраняя различие между меткой ретранслятора и настоящим хостом SSH.
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 собирает то, что предъявляет доступная конечная точка; успешное подключение через прокси не удостоверяет этот ключ.