Пусть SFTP использует ваш SSH-маршрут через прокси
Используйте запись хоста SSH для SFTP и отделите порт HTTP-прокси от порта SSH назначения.
SFTP идёт через SSH. Если SSH нужен помощник-прокси, чтобы добраться до файлового сервера, поместите этот маршрут в запись хоста и позвольте SFTP им пользоваться.
Host files-via-proxy
HostName files.example.net
User alex
ProxyCommand nc -X connect -x proxy.example.net:8080 %h %p
С совместимым с OpenBSD помощником netcat sftp files-via-proxy использует этот путь соединения. Прокси слушает порт 8080; запрошенный порт назначения — это настроенный порт SSH файлового сервера. Это разные значения. Для публичного SFTP-сервера, где разрешены публичные посредники, список HTTP-прокси предлагает кандидатов для HTTP-прокси-эндпоинта помощника. Не используйте учётные данные прокси для неаутентифицированного кандидата и убедитесь, что он разрешает фактический хост и порт SSH файлового сервера.
-P в SFTP выбирает порт назначения. Не путайте его с опцией в нижнем регистре, которую используют некоторые другие инструменты SSH, и не ставьте произвольное число после назначения, полагая, что оно изменит SSH-соединение.
Аутентификация прокси, аутентификация пользователя SSH и разрешение на доступ к удалённому файлу остаются отдельными проверками. Назначение также должно предоставлять подсистему SFTP. Работающий туннель сам по себе не даёт файловой сессии, а учётная запись, ограниченная только переадресацией, не обязательно пригодна для SFTP.
Держите проверку ключа хоста включённой. Прокси даёт маршрут; он не должен подменять личность файлового сервера своей.