Як SSH на комп'ютер як з публічними, так і з приватними IP-адресами за допомогою DDNS


0

У мене ноутбук Mac (комп'ютер A) з ОС X X capitan, до якого я хотів би віддалено отримати доступ із SSH. Оскільки комп'ютер завжди в моїй шкільній мережі, я не можу отримати статичну, загальнодоступну IP-адресу. Провівши дослідження, я дізнався, що вмію

  1. встановити mac os x для запиту певного приватного IP в моїй шкільній мережі
  2. використовувати ddclient для завжди оновлення загальнодоступної IP-адреси, на якій мій комп'ютер має nsupdate.info, щоб статичний URL-адреса завжди вказувала на комп'ютер A

Як згадувалося раніше, комп’ютер A є в моїй шкільній мережі. Як я можу використовувати свій комп’ютер (комп’ютер B) в домашній мережі, що знаходиться далеко від моєї школи, для того, щоб перейти до комп'ютера A?

Скажімо, я встановив комп'ютер A для налаштування IPv4 за допомогою DHCP з IP-адресою 172.27.133.200 і використання DDclient для оновлення testurl.nsupdate.info, щоб завжди вказувати на загальнодоступну IP-адресу комп’ютера. Чи є команда, яка використовувала б ці дві адреси, які я можу з'єднати, наприклад (концептуально)

userOnComputerB$ ssh userOnComputerA@172.27.133.200@testurl.nsupdate.info

Я також вітаю інші рішення, які працюють в межах проблеми. Я консультувався з іншими питаннями, пов’язаними із зворотним тунелюванням та переадресацією портів , але не бачу, як вони застосовуються до цього, тому що я думаю, що я не маю ніякого контролю над переадресацією портів моїх шкільних мережевих маршрутизаторів.

Нарешті, якщо така команда, як описана вище, неможлива, то яка технічна або ssh конструкція причина, чому така команда неможлива?


Ваші дані повинні мати доступ від мережевого адміністратора школи. Почніть з них, вони єдині, хто може надати доступ до мережі віддалено.
ejbytes

1
У питанні зворотного тунелю, на яке ви посилаєтесь, вважайте, що лаппі - ваш шкільний комп'ютер, а дистанційний - ваш домашній комп'ютер. Це не досягає того, чого ви хочете?
гертит

Відповіді:


0

Коли ви SSH на testurl.nsupdate.info, з'єднання припиняється на брандмауері вашої школи (або іншому пристрої, який реалізує NAT для вашого внутрішнього IP 172.27.133.200). Брандмауер не знає, що це потрібно переадресувати на ваш внутрішній IP, якщо тільки адміністратор брандмауера не налаштував переадресацію портів, але, як ви кажете, у вас немає контролю над цим.

Якщо ви подумаєте про це, середня причина існування брандмауера полягає саме в тому, щоб хтось із зовнішньої сторони не міг підключитися до пристрою з внутрішньої сторони (крім тих підключень, які затвердив адміністратор брандмауера).

Однак, як правило , брандмауер робить дозволити вашому внутрішній устрій для SSH до зовнішньої сторони, так , то ви могли б використовувати , що вихідні повідомлення SSH тунель для вхідного підключення, що пояснюється в питаннях , пов'язаних з зворотної туннелирование , що ви згадали. Просто прочитайте це, пам’ятаючи, що «lappy» - це ваш шкільний комп’ютер, а «віддалений» - ваш домашній комп'ютер.


У пов'язаному прикладі, автор говорить , що lappyі remoteyзнаходяться на одній і тій же мережі, і remoteyвикористовується в якості проміжної точці між lappyі іншим комп'ютером (який ОП відноситься до комп'ютерної , як C). Чи означає це , що потрібно використовувати 3 комп'ютери, де lappyі remoteyзнаходяться на одній і тій же мережі, і комп'ютер З моєї домашньої мережі?
anon294719

Я міг би це зробити, але, як пише автор, для цього потрібно два кроки: спочатку увійти, remoteyа потім використовувати зворотний порт тунелю. Я хотів би, щоб дані були зашифровані в кінці між домашнім комп'ютером і lappy. Так би було, якби я зареєструвався remoteyяк проміжний? Чи є одна команда, яку я міг би використати для об'єднання цих двох кроків?
anon294719

добре вибачте, якщо це було заплутано. Ігноруйте питання на зв’язаному прикладі, зосередьтеся на першій частині відповіді, яка лише говорить про лапи та віддаленості. У цій частині ви повинні мати робоче з'єднання від дистанційного (домашній ПК) до лаппі (шкільний ПК):test out reverse tunnel port [user@remotey ~]$ ssh -p 12345 localhost should now be back on lappy user@localhost's password: Last login: Thu Aug 1 17:53:54 2013 /usr/bin/xauth: creating new authority file /home/user/.Xauthority [user@lappy ~]$
hertitu

Добре, дякую. Однак автор відповіді може зробити це , тому що вхід lappyі remoteyзнаходяться на одній і тій же мережі. У моєму випадку ні мій шкільний комп'ютер, ні домашній комп'ютер не мають статичних загальнодоступних IP-адрес. Чи означає це, що проміжний комп'ютер необхідний? Чи можу я використовувати один логін для шифрування в кінці?
anon294719

Гаразд, я не розумів, що ваш домашній комп'ютер не має загальнодоступних IP-адрес. У такому випадку я думаю, у вас є два варіанти: дійсно використовувати третій комп'ютер "C", який має загальнодоступний IP. Або налаштуйте DDNS на домашньому ПК та на шкільному ПК встановіть тунель SSH у напрямку "myhomepc.nsupdate.info". Налаштуйте домашній маршрутизатор для переадресації портів на домашній ПК. Недоліком є ​​те, що вам потрібно буде якось перезапустити тунель, коли ваш загальнодоступний IP вдома зміниться; Я припускаю, що ви можете написати якесь завдання, яке тестує, якщо ip змінився, а потім відновив з'єднання.
гертит
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.