Большинство знает SSH как инструмент для удалённого входа на сервер. Но его можно использовать гораздо шире: для проксирования трафика, безопасного доступа к внутренним сервисам и туннелирования соединений.
💬 Создать SOCKS-прокси через SSH
Позволяет отправлять веб-трафик через удалённый сервер (например в поездках или в небезопасных сетях).
ssh -D <port> <remote_host>
После этого укажите в браузере прокси:
localhost:<port>
💬 Подключиться к RDP через bastion-сервер
Если Windows-сервер находится во внутренней сети.
ssh -L <port>:<target_host>:3389 <bastion_server>
RDP-клиент должен подключаться к:
localhost:<port>
💬 Подключиться к VNC без открытия порта
ssh -L 5901:localhost:5901 <remote_host>
После этого VNC-клиент подключается к:
localhost:5901
💬 Проброс любых других сервисов
По такому же принципу можно безопасно подключаться к другим сервисам, не открывая их в интернет:
* LDAP — порт 389
* CUPS — 631
* альтернативный HTTP — 8080
💬 Создать новую пару SSH-ключей
ssh-keygen
💬 Изменить пароль (passphrase) существующего ключа
ssh-keygen -p
💬 Скопировать публичный ключ на сервер
ssh-copy-id -i <identity_file> <remote_host>
Это добавит ключ в
~/.ssh/authorized_keys на удалённой машине.💬 Упростить подключения через конфиг SSH
Если вы часто подключаетесь к одному серверу, можно добавить запись в файл:
~/.ssh/config
Пример:
Host myhouse
User itsme
HostName house.example.com
Теперь можно подключаться так:
ssh myhouse
вместо
ssh itsme@house.example.com
💬 Полезные параметры SSH
-l <login> — имя пользователя на удалённой машине
-i <identity_file> — SSH-ключ для аутентификации
-p <port> — порт SSH (по умолчанию 22)
-C — сжатие трафика
-D <port> — SOCKS-прокси
-X — запуск X11-программ
-A — пересылка SSH-агента
-4 — использовать только IPv4
-6 — использовать только IPv6
-L <lport>:<host>:<port> — проброс локального порта
🖱 SSH — это не просто удалённый доступ, а универсальный инструмент для создания защищённых туннелей и работы с внутренними сервисами.
#doc
