Прокси в WinSCP: настройка SOCKS5 и HTTP для SFTP, SCP и FTP

Чтобы WinSCP подключался к серверу через прокси, откройте сохранённый сайт в окне входа, нажмите Редактировать → Ещё (в английском интерфейсе Edit → Advanced), перейдите в раздел Соединение → Прокси, выберите тип (чаще всего SOCKS5 или HTTP), впишите адрес, порт, логин и пароль прокси, сохраните сайт и подключитесь. Настройка хранится в профиле конкретного сайта: один сервер может работать через прокси, а соседний — напрямую.
Во многих коротких инструкциях советуют нажать шестерёнку в главном окне. Так открываются Настройки программы, и поле прокси там отвечает лишь за проверку обновлений, а не за передачу файлов. Ниже — где настройка находится на самом деле, чем FTP за прокси отличается от SFTP, готовый фрагмент для скриптов и разбор типичных ошибок.
SOCKS5-прокси
SOCKS5-прокси с логином и паролем для сессий SFTP и FTP в WinSCP
Что подготовить
- WinSCP для Windows. Страница прокси в последних версиях выглядит одинаково; в старых сборках подписи могут немного отличаться. Ниже рядом с русскими названиями даны английские — на случай, если у вас интерфейс на английском.
- Данные сервера: протокол (SFTP, SCP, FTP, FTPS, WebDAV или S3), адрес, порт и учётная запись на сервере.
- Данные прокси от провайдера: тип, хост, порт, логин и пароль. Для передачи по SSH самый предсказуемый вариант — SOCKS5; у наших SOCKS5-прокси все четыре значения есть в личном кабинете.
- Разрешение на такой доступ. Некоторые хостинги пускают по SSH только с одобренных адресов. Тогда в список нужно добавить выходной IP прокси, а не ваш домашний.
Где на самом деле находятся настройки прокси
В WinSCP два независимых поля прокси, и путаница между ними — главная причина, почему прокси «не работает».
| Где | На что влияет |
|---|---|
| Окно входа → Редактировать → Ещё → Соединение → Прокси | Подключения конкретного сайта: SFTP, SCP, FTP, WebDAV, S3 |
| Настройки → Обновления → Соединение | Только запросы WinSCP к сайту разработчика при проверке новых версий |
Общего переключателя для всех сессий нет. Если один и тот же прокси нужен на десяти серверах, настройте один сайт, затем в списке сайтов выберите Копировать (Duplicate) и в копиях поменяйте только адрес сервера.
Настройка прокси для сессии SFTP или SCP
Шаг 1. Откройте расширенные настройки сайта
Запустите WinSCP. В окне входа выберите сайт слева (или Новый сайт), задайте протокол, имя хоста, порт и имя пользователя; если сайт уже сохранён, нажмите Редактировать. Затем кнопкой Ещё… откройте окно дополнительных настроек сайта.

Шаг 2. Выберите тип прокси
В дереве слева раскройте Соединение и нажмите Прокси. В списке типов есть: нет, SOCKS4, SOCKS5, HTTP, Telnet и Local.
- SOCKS5 пропускает любой TCP-поток и поддерживает логин с паролем — основной выбор для SFTP и SCP. Как устроен сам протокол, рассказано в материале о том, что такое SOCKS5-прокси.
- HTTP подходит, если прокси поддерживает метод
CONNECT, — а платные HTTP-прокси его почти всегда поддерживают. Авторизация работает. - SOCKS4 принимает имя пользователя без пароля, поэтому годится только для прокси с авторизацией по IP.
- Telnet и Local нужны для корпоративных шлюзов и своих команд туннеля; к FTP, WebDAV и S3 они не применяются.
Шаг 3. Впишите хост, порт и учётные данные
Рядом с типом укажите имя хоста прокси и номер порта. Ниже заполните Имя пользователя и Пароль. Если оставить их пустыми, а прокси потребует авторизацию, WinSCP спросит данные во время подключения.
У SOCKS5 пароль может уйти на прокси открытым текстом, если сервер не предлагает более надёжный способ; у HTTP так же бывает при авторизации Basic. Сами файлы и вход на сервер при этом зашифрованы средствами SSH на всём пути — открытыми остаются только данные для входа на прокси.

Шаг 4. Решите, где разрешать DNS-имена
Параметр Выполнять DNS-запрос на стороне прокси (Do DNS name lookup at proxy end) имеет три значения: Нет, Авто (по умолчанию) и Да. В режиме Авто имя сервера передаётся прокси SOCKS5 и HTTP как есть, и адрес определяет уже прокси. Ставьте Да, если имя сервера известно только внутри сети прокси, и Нет, если прокси не умеет разрешать имена.
Шаг 5. Сохраните и подключитесь
Нажмите OK, затем Сохранить в окне входа, чтобы прокси остался в профиле сайта, и Войти. При первом подключении появится обычный запрос о ключе хоста SSH; прокси ключ сервера не меняет, поэтому отпечаток сверяйте как обычно.

FTP и FTPS через прокси
FTP открывает отдельное соединение для каждого списка файлов и каждой передачи, поэтому провести его через прокси сложнее, чем SFTP.
- Не отключайте пассивный режим. На странице Соединение того же окна оставьте галочку Пассивный режим. В нём WinSCP сам открывает каналы данных наружу через прокси; активный режим ждёт встречного подключения от сервера, а прокси такое не передаёт.
- SOCKS5 и HTTP работают с обычным FTP и с FTPS — явным и неявным. Каждый канал данных становится ещё одним соединением через туннель.
- Классическим FTP-шлюзам нужен метод входа. Для FTP в списке типов есть методы шлюза, отличающиеся последовательностью команд для межсетевого экрана, например
SITE %hostилиUSER %user@%host. Выбирайте их, только если администратор сети выдал адрес FTP-шлюза; обычные провайдеры прокси работают по SOCKS5 или HTTP.
Параметр DNS и поля команд Telnet и Local для FTP-сессий недоступны.
Какой тип прокси подходит к какому протоколу
| Протокол в WinSCP | SOCKS5 | HTTP (CONNECT) | Комментарий |
|---|---|---|---|
| SFTP, SCP | Да | Да | SOCKS5 — самый простой вариант |
| FTP, FTPS | Да | Да | Нужен пассивный режим |
| WebDAV, S3 | Да | Да | Трафик HTTPS, прокси видит только имя хоста |
| Прокси Telnet/Local | — | — | Только SFTP и SCP |
Подробнее о разнице двух основных протоколов — в сравнении SOCKS5 и HTTP-прокси.

Прокси в скриптах и сборке .NET
Автоматические задания не берут настройки из графического интерфейса, если не обратиться к сайту по имени. Можно открыть в скрипте сохранённый сайт, а можно передать параметры прокси через «сырые» настройки сессии. ProxyMethod задаётся числом: 1 — SOCKS4, 2 — SOCKS5, 3 — HTTP.
open sftp://backup-agent@storage.example.org/ -hostkey="ssh-ed25519 255 XyZ123..." -rawsettings ProxyMethod=2 ProxyHost=relay.example-proxy.org ProxyPort=1080 ProxyUsername=relay-user-07 ProxyPassword=relay-pass-07В PowerShell со сборкой WinSCP .NET те же значения добавляются к параметрам сессии до её открытия:
$cfg = New-Object WinSCP.SessionOptions -Property @{
Protocol = [WinSCP.Protocol]::Sftp
HostName = "storage.example.org"
UserName = "backup-agent"
SshHostKeyFingerprint = "ssh-ed25519 255 XyZ123..."
}
$cfg.AddRawSettings("ProxyMethod", "2")
$cfg.AddRawSettings("ProxyHost", "relay.example-proxy.org")
$cfg.AddRawSettings("ProxyPort", "1080")
$cfg.AddRawSettings("ProxyUsername", "relay-user-07")
$cfg.AddRawSettings("ProxyPassword", "relay-pass-07")Для методов FTP-шлюза есть отдельный параметр FtpProxyLogonType. Настоящие пароли в файлах скриптов не держите: подставляйте их при запуске из защищённого хранилища или переменной окружения.
Как убедиться, что прокси работает
- Спросите у сервера. В сессии SFTP откройте Команды → Открыть терминал (или отдельную SSH-сессию) и выполните
echo $SSH_CLIENT. Первое значение — адрес, с которого сервер видит подключение; это должен быть выходной IP прокси. - Посмотрите журнал. Включите ведение журнала в Настройки → Журнал, подключитесь один раз и найдите строки об обращении к прокси перед рукопожатием SSH.
- Проверьте сам прокси. Бесплатный прокси-чекер покажет, отвечает ли точка входа и какой у неё выходной адрес, — так проще отделить проблемы прокси от проблем сервера.
Частые ошибки и что с ними делать
В браузере прокси работает, а WinSCP подключается напрямую. Прокси вписан в Настройки → Обновления, или сайт не сохранили после правки. Откройте сайт заново, проверьте Соединение → Прокси и нажмите Сохранить.
Сразу после входа — отказ в соединении или тайм-аут. Хост или порт относятся к другому протоколу: например, указан HTTP-порт, а выбран SOCKS5. Некоторые сервисы прокси ещё и ограничивают нестандартные порты назначения вроде 22 — уточните у провайдера, открыты ли порты SSH.
Ошибка авторизации на прокси. Перепечатайте логин и пароль без пробелов на конце. SOCKS4 пароль не передаёт вообще; если прокси работает по логину, переключитесь на SOCKS5.
Хост не найден. Поставьте DNS-запрос на стороне прокси в положение Да для имён, существующих только за прокси, или в положение Нет, если прокси имена не разрешает.
После входа по FTP зависает список файлов. Выключен пассивный режим, или FTP-сервер отвечает частным адресом в пассивном ответе. Включите пассивный режим и при необходимости попросите владельца сервера поправить настройку пассивного адреса.
Сервер отклоняет вход при верном пароле. SSH разрешён только с одобренных IP. Попросите администратора добавить выходной адрес прокси — именно поэтому для такой работы лучше взять статический прокси, а не ротируемый.
Частые вопросы о прокси в WinSCP
Где в WinSCP настройка прокси?
В окне входа: выберите сайт, нажмите Редактировать, затем Ещё и откройте Соединение → Прокси. Прокси в общих Настройках влияет только на проверку обновлений.
Работает ли WinSCP с SOCKS5-прокси по логину и паролю?
Да. Выберите тип SOCKS5 и заполните имя пользователя и пароль. SOCKS4 передаёт только имя, поэтому подходит лишь для прокси с авторизацией по IP.
Становится ли SFTP менее безопасным через прокси?
Передача файлов зашифрована SSH от вашего компьютера до сервера, так что прокси не видит ни содержимого файлов, ни пароля от сервера. Открытыми на пути до прокси могут идти только логин и пароль самого прокси, поэтому важно работать с проверенным провайдером.
Какой прокси взять для WinSCP — ротируемый или статический?
Лучше статический. Сессии SSH и FTP длятся долго, а многие серверы пускают только с разрешённых IP, поэтому адрес, меняющийся посреди сессии или между запусками, приводит к обрывам и отказам во входе.
Как задать прокси для скриптов WinSCP в командной строке?
Либо откройте в скрипте сохранённый сайт, где прокси уже настроен, либо добавьте в команду open параметры rawsettings: ProxyMethod, ProxyHost, ProxyPort и другие. Те же имена работают с методом AddRawSettings в сборке .NET.


