На якому сервері я повинен виконати команду переадресації порту ssh?


1

У мене є Macbook A, загальнодоступний сервер B(public IP: 1.2.3.4, internal IP: 10.0.0.2), внутрішній серверC(internal IP: 10.0.0.3)

Aможе з'єднуватися із Bзагальнодоступним IP-адресою B і Bможе підключатися до Cприватного IP-адреси C, але Aбезпосередньо не може підключитисяC

Тепер я хочу , щоб підключитися до C:2345з A, так що я думаю , що я можу зробити перенаправлення портів в B:1234=>C:2345?

Яку команду слід запустити та на якому сервері слід запустити?

Я намагався:

ssh -NfR 1234:localhost:2345 10.0.0.3
ssh -L 1234:0.0.0.0:2345 10.0.0.3

Ні один не працює.

Відповіді:


1

Щоб виконати саме те , що ви просили ( B:1234=>C:2345), це слід виконати B:

# Not recommended. Read along.
ssh -NgL 1.2.3.4:1234:localhost:2345 10.0.0.3

Також потрібно відкрити 1234порт в Bбрандмауері. Потім підключіться до 1.2.3.4:1234зовнішньої сторони, щоб отримати так, 10.0.0.3:2345як ніби ви підключаєтесь із самого Cсебе (через його інтерфейс із зворотним зв'язком ). Підключитися може будь-хто, тому майте на увазі, якщо сервер на C(будь-який сервер) не захищений паролем.


Простіший і набагато безпечніший спосіб дістатися Aдо Cцього: Це не робить саме те, що ви просили, але, мабуть, це те, що ви хочете. Увімкнено A:

ssh -NL 1234:10.0.0.3:2345 1.2.3.4

Потім підключіть до 127.0.0.1:1234на , Aщоб дістатися до порту 2345на C. Cпобачить рух трафіку з B. Це з'єднання доступне Aлише для цього, тому метод є більш безпечним, ніж попередній.

Якщо ви хочете дозволити іншим комп'ютерам (скажімо, з локальної мережі, де Aє), слід скористатися -gопцією та вказати адресу прив'язки. Наприклад:

ssh -NgL A_LAN_address_here:1234:10.0.0.3:2345 1.2.3.4

У цьому випадку переконфігуруйте брандмауер Aвідповідно, а потім підключіться до A_LAN_address_here:1234.


0

На Mac, який ви вперше зробите

ssh -L2345:10.0.0.3:2345 10.0.0.2

Це відкриває локальний порт 2345 на вашому Mac, який є прямим підключенням до: 2345 на 10.0.0.3

Тоді ви просто отримаєте доступ 127.0.0.1:2345на своєму Mac. Все, що йде до цього порту, буде тунельовано через ssh та перейде до 10.0.0.3:2345. На цей сервер, здається, він надходить 10.0.0.2.


Чи потрібно запускати якусь команду далі B? Вище команда не працює. Тому що я не можу зв’язатися Cбезпосередньо з А. У ньому сказано:ssh: connect to host 10.0.0.3 port 22: Operation timed out
Сато,

Вибачте, я змінив IP-адреси, відредагував.
Пол
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.