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.

Держите проверку ключа хоста включённой. Прокси даёт маршрут; он не должен подменять личность файлового сервера своей.

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