Команда для пересилання порту 80 з вашої локальної машини ( localhost
) на віддалений хост на порт 8000:
ssh -R 8000:localhost:80 oli@remote-machine
Для цього потрібна додаткова настройка на сервері SSH, додавання рядків до /etc/ssh/sshd_config
:
Match User oli
GatewayPorts yes
Далі перезавантажте конфігурацію за допомогою виконання сервера sudo reload ssh
.
Цей параметр GatewayPorts yes
змушує SSH прив'язувати порт 8000 до адреси wildcard, тому він стає доступним для публічної адреси remote-machine
( remote-machine:8000
).
Якщо вам потрібно , щоб мати можливість для зв'язування не всі на адресу підстановочні, зміна GatewayPorts yes
до GatewayPorts clientspecified
. Оскільки ssh
за замовчуванням прив'язується до адреси зворотного зв'язку, вам потрібно вказати порожню bind_address
для прив'язки підстановочної адреси:
ssh -R :8000:localhost:80 oli@remote-machine
:
Перед тим 8000
є обов'язковим , якщо GatewayPorts
встановлено значення , clientspecified
і ви хочете , щоб забезпечити доступ громадськості до remote-machine:8000
.
Відповідні ручні витяги:
ssh (1)
-R [bind_address:] port: host: hostport
Вказує, що даний порт на віддаленому (серверному) хості повинен бути пересланий на даний хост і порт на локальній стороні. Це працює, виділяючи сокет для прослуховування порту на віддаленій стороні, і кожного разу, коли з'єднання здійснюється з цим портом, з'єднання пересилається через захищений канал, і встановлюється з'єднання для розміщення порту хосту порту з локальної машини. За замовчуванням прослуховувальна розетка на сервері буде прив'язана лише до інтерфейсу зворотного зв'язку. Це може бути відмінено, вказавши адресу bind_address. Порожня bind_address або адреса "*" вказує на те, що віддалений сокет повинен слухати на всіх інтерфейсах. Визначення віддаленої bind_address вдасться лише в тому випадку, якщо параметр GatewayPorts сервера включений (див. Sshd_config (5)).
sshd_config (5)
GatewayPorts
Вказує, чи дозволяється віддаленим хостам підключатися до портів, пересланих для клієнта. GatewayPorts можна використовувати, щоб вказати, що sshd повинен дозволяти віддаленим пересиланням портів прив'язуватися до адрес, що не мають зворотного зв'язку, тим самим дозволяючи іншим хостам підключатися. Аргументом може бути "ні", щоб змусити віддалені переадресації портів бути доступними лише для локального хоста, "так", щоб змусити віддалені переадресації портів прив'язуватися до підстановочної адреси, або "визначено клієнтами", щоб клієнт міг вибрати адресу, до якої переадресація пов'язана. За замовчуванням - "ні".
Дивитися також:
GatewayPorts
була тут чарівна куля. Мені подобається, що ти знайшов версію, яка може дозволити мені обмежити цю досить потужну техніку певними користувачами.