Зазвичай тунель SSH SOCKS дає ноутбуку мережевий вихід сервера. Зворотне динамічне переспрямування перевертає цю схему: програма на віддаленій машині може використовувати мережу, доступну вашому SSH-клієнту.

На клієнті OpenSSH, що підтримує віддалене переспрямування без призначення:

ssh -N -R 127.0.0.1:1080 [email protected]

SOCKS-прослуховувач розташований на remote.example.net і прив'язаний до власної loopback-адреси. Програми там використовують 127.0.0.1:1080. З'єднання до призначень ідуть назад через SSH і відкриваються з того боку, де працює ваш клієнт.

Читайте напрямок раніше за IP

Документація ‎-R робить пропущене призначення значущим. Специфікація з port:host:hostport — це натомість фіксоване переспрямування. Не припускайте, що старий клієнт підтримує коротшу динамічну форму.

Зовнішній IP — це той, який мережа на боці вашого клієнта використовує для цих з'єднань. Ноутбук за домашнім маршрутизатором може виходити через трансльовану публічну адресу маршрутизатора. Це не автоматично IP сервера SSH і не адреса, призначена ноутбуку безпосередньо.

Тримайте віддалений прослуховувач обмеженим. Прив'язка з підстановочним знаком може дозволити іншим машинам використовувати мережу на боці вашого клієнта як вихід, згідно з політикою сервера. Навіть loopback може бути доступним іншим відповідним процесам на віддаленому хості; це не секрет окремого процесу.

Для обмеженого набору призначень перегляньте PermitRemoteOpen і політику переспрямування сервера. Маршрут також залежить від того, чи залишається ваш клієнт у мережі. Коли це з'єднання закривається, віддалений шлях через проксі зникає. Зворотне переспрямування змінює те, звідки виникають з'єднання; воно не дає самостійного проксі, незалежного від сеансу SSH.

Схожі статті