<!--
.. title: SSH через прокси
.. slug: ssh-proxy
.. date: 2025-09-19 13:23:36 UTC+03:00
.. updated: 2026-06-01 10:53:11 UTC+03:00
.. tags: linux, ssh 
.. category: 
.. link: 
.. description: 
.. type: text
-->

Для работы `ssh` через прокси используется может использоваться ряд
программ:

* connect
* corkscrew
* [proxytunnel](https://github.com/proxytunnel/proxytunnel)
* ...


Для того, чтобы подключаться через прокси ко всем или выборочным
серверам надо прописать в файле `config` (`~/.ssh/config`)
соответствующие настройки. Там можно настроить и другие параметры:
имя пользователя, порт и т. п.

Работает и под Windows тоже (`proxytunnel` уж точно):

Пример:

```ini

# для примера: ip-адрес прокси 1.1.1.1 порт 8080

Host имя_хоста1
  ProxyCommand connect -H 1.1.1.1:8080 %h %p

Host имя_хоста2
  ProxyCommand corkscrew 1.1.1.1 8080 %h %p

Host имя_хоста3
  ProxyCommand proxytunnel -q -p 1.1.1.1:8080 -d %h:%p -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)"

```

## PuTTY

PuTTY умеет работать через прокси. Для этого в настройках подключения
есть отдельная вкладка *Proxy*. Если нужно для проксирования вызвать внешнюю 
команду (например, тот же `proxytunnel`), то это можно сделать,
указав в *Proxy type* не традиционные SOCKS или HTTP, а
`local (run subprogram to connect)`.

А в поле *Command...* вписать строку, аналогичную настройкам ssh:


```
proxytunnel -p 1.1.1.1:8080 -d %host:%port -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)"
```

![PuTTY via local proxy](/images/putty-proxytunnel.png)
