SSH — клиент

ssh (Secure Shell) — утилита для безопасного удалённого доступа к серверам и управления ими. Использует шифрование, поддерживает аутентификацию по паролю и ключам, позволяет делать туннели, прокси и многое другое.

Синтаксис:
ssh [опции] user@host [команда]

Основные опции:

ОпцииОписание
-p <порт>подключение к нестандартному порту
-i <ключ>указать приватный ключ
-L <локальный:хост:порт>локальный проброс порта
-R <удалённый:хост:порт>удалённый проброс порта
-D <порт>динамический SOCKS-прокси
-J user@jumpProxyJump (через промежуточный сервер)
-v / -vvподробный вывод (для отладки)

SSH Jump Host (Bastion)

Получение доступа к серверам в локальной сети через один из них, SSH которого открыт «наружу».

Пример настройки (~/.ssh/config):

Host bastion
    HostName 177.0.57.70
    User fox

Host server-*
    ProxyJump bastion
    User root

Выполнив команду:

ssh server-5

Подключение пойдёт через bastion.

Проброс портов (Port Forwarding)

Локальный (к сервису внутри сети):

ssh -L 7777:localhost:80 user@server

Теперь localhost:7777 на клиенте ведёт к server:80.

Удалённый (сервисы на клиенте доступны с сервера):

ssh -R 5050:localhost:80 user@server

Динамический (SOCKS-прокси):

ssh -D 1080 user@server

Прокрутить вверх