Попытка SSH за рубежом

Как я могу использовать ssh в Mac OS X для удаленного доступа к компьютеру, который находится за рубежом? Я хотел бы помочь моему брату со своим компьютером, но сейчас он живет в Великобритании (и я уверен, что он использует VPN для поддержания связи с службами потокового мультимедиа в США). Я сделал это в своей локальной сети, но никогда не на удаленном сервере … гораздо меньше, чем за рубежом.

Я попробовал базовый ssh username@xx.xx.xx.xx , но я уверен, что есть множество причин, почему случайный IPv4-адрес не будет работать: D

Нужно ли мне помочь ему настроить свою сторону?

Надеюсь, это не выходит за рамки моих нынешних способностей, я действительно хочу узнать больше о создании сетей: /

3 Solutions collect form web for “Попытка SSH за рубежом”

Ну, вам нужно, чтобы он отправил порт 22 со своего компьютера и попросил его запустить sshd если вы хотите сделать это простым способом.

С другой стороны, вы можете сделать грязную работу и заставить его сделать порт вперед через ssh на ваш компьютер. Это было бы сделано путем установки демона ssh (инструкции для OSX здесь ), а затем порт перенаправления портов 22 (порт ssh ) с вашего основного компьютера через маршрутизатор. Существует много разных вариантов между каждым маршрутизатором и прошивкой, поэтому я действительно не могу пройти вас через этот шаг. Однако на этом сайте имеется очень большая база данных руководств, предназначенных для разных маршрутизаторов, поэтому вам может быть повезло. Также убедитесь, что вы установили статический частный IP-адрес для вашего основного компьютера, чтобы dhcp не дал вам новый адрес. Если это произойдет, ваш внешний порт будет перенаправлен на несуществующий внутренний хост, поэтому это будет бессмысленно.

Затем создайте пользователя для своего брата. Ничего особенного здесь, просто убедитесь, что у него есть пароль, и что он знает, что это. Также убедитесь, что у него есть демон ssh , запущенный на его компьютере. Он также может быть заинтересован в создании пользователя на своем компьютере для вас, чтобы он не раскрывал вам свой пароль и не предоставил вам собственный домашний каталог.

Когда у вас запущен демон ssh , попросите вашего брата подключиться к вашему компьютеру с помощью команды ssh -R 2222:localhost:22 brother@your.public.ip.here он должен иметь возможность подключиться и ввести свой пароль (что не позволяет показать в ОС на базе UNIX, пока вы вводите его по соображениям безопасности). Как только он подключен, трафик с вашего компьютера на порт 2222 будет перенаправлен на порт его компьютера 22 (порт ssh ). Теперь вы должны подключиться к своему компьютеру с помощью ssh -p 2222 you@localhost . Повеселись!

В качестве заключительного замечания вы также можете выбрать имя хоста с сайта DDNS, я предлагаю no-ip.com . Таким образом, вы можете легко подключиться к вашему маршрутизатору, который будет находиться в something.ddns.net или что-то в этом роде. Мне нравится no-ip, потому что он бесплатный, и если вы настроите свой маршрутизатор на правильное использование, он автоматически обновит имя хоста, указывая на ваш общедоступный IP-адрес.

SSH не заботится о расстоянии. Чтобы подключиться к компьютеру с именем somewhere.example.com , просто запустите ssh somewhere.example.com . Чтобы подключиться к компьютеру с IP-адресом 192.0.2.4, просто запустите ssh 192.0.2.4 . Конечно, целевой компьютер должен работать с SSH-сервером.

Муха в мазке состоит в том, что компьютер вашего брата, вероятно, не имеет IP-адреса, который вы можете достичь. Большинство компьютеров напрямую не доступны из Интернета: они находятся за устройством NAT . Большинство ящиков ISP (называемых «маршрутизаторами» или «модемами») также выполняют NAT. В своей базовой форме NAT предоставляет компьютерам в сети частный IP-адрес (т. Е. Адрес, который действителен только в этой локальной сети) и позволяет исходящие соединения через один общедоступный IP-адрес, но не входящие соединения.

Чтобы добраться до компьютера вашего брата, вам нужно заставить его настроить его устройство NAT, чтобы входящие SSH-соединения достигли компьютера, который вы хотите достичь. Веб-интерфейс модема / маршрутизатора, вероятно, имеет настройку для этого.

Еще одна трудность заключается в том, что большинство домашних провайдеров назначают IP-адреса динамически, поэтому IP-адрес вашего брата изменяется со временем (обычно каждые несколько дней). Вы должны заставить его настроить динамический DNS , чтобы его компьютер регистрировал IP-адрес с сервером каждый раз, когда он изменяется. Некоторые устройства ISP поддерживают динамический DNS, но это далеко не универсально; если ваш брат этого не сделает, он должен будет сделать это со своего компьютера.

Кроме того, вы можете пройти эти шаги самостоятельно, доставить своего брата к SSH на свою машину и настроить обратный туннель SSH .

Loggin на компьютер внутри вашей локальной сети через SSH не совсем отличается от входа в систему на компьютер в Интернете. Но есть несколько вещей, которые нужно учитывать.

  1. Компьютеры в вашей локальной сети очень вероятны в «частной» сети, адресное пространство которой не маршрутизируется в общедоступных глобальных сетях ( см. Здесь ). Я думаю, когда вы будете делать ifconfig ваш интерфейс будет настроен на какой-то 192.168.0.x или 10.xxx IP адрес. Это правильно?

  2. Компьютеры, сидящие в таких сетях, имеют доступ к Интернету. Но взамен интернет не обязательно имеет доступ к вашему компьютеру по его IP-адресу. Причина в том, что IP-адреса вашей локальной сети сопоставляются с одним общедоступным маршрутизируемым адресом, который может иметь общее с устройствами в вашем районе. Это делается вашим интернет-провайдером (так называемый NAT ).

  3. Даже если ваш брат использует VPN, он не обязательно имеет публичный IP-адрес, назначенный для своего компьютера, потому что даже поставщик VPN может использовать NAT для сохранения IP-адресов и скрытия целого сообщества за одним или несколькими публичными IP-адресами.

Первая и самая простая вещь, которую я бы сделал в этой ситуации, – это посмотреть, есть ли у вас и вашего брата интернет-провайдеры, которые назначают адреса IPv6 своим клиентам. Посмотрите здесь .

Эти адреса содержат 8 блоков из 4-значного гексадезималя, разделенных двоеточием. См. Здесь . И их преимущество в том, что их доступно много, так что каждое сетевое устройство на земле может иметь по крайней мере один уникальный адрес. Сделайте ifconfig на своем ПК и пусть ваш брат сделает ifconfig тоже.

В случае, если ваш интернет-провайдер предоставляет IPv6, и ваш ПК настроен на их получение (что, по моему мнению, по умолчанию по крайней мере в Linux), вы должны найти строку в виде следующего:

 inet6-address: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope:global 

( Обновление: вместо scope:global вы также можете иметь scopeid: 0xe )

Обратите внимание, что стандарт обозначения для адресов IPv6 позволяет отбросить последовательные блоки с 0-значными цифрами: 1234: 000: 0000: 0000: 0000: 0000: 000: 5678 -> 1234 :: 5678 (что очень полезно).

Тогда – в самом простом случае – вы можете просто сделать:

 ssh username@[ipv6-address of your brother] 
  • Мош не пересоединяется
  • Можно ли прикрепить `kinit` к первой попытке` ssh` без билета Kerberos?
  • Как запустить удаленную команду sed через ssh, если данные содержат двойные кавычки ("")?
  • подсветка синтаксиса emacs не работает на моем SSH-клиенте
  • Bash назначает вывод / ошибку переменной
  • scp между двумя серверами не в одной сети
  • Сессия SSH Bash Jail
  • медленный вход ssh на удаленную машину
  • ssh_config: указать команду для запуска на удаленном компьютере при входе в систему
  • Использовать ssh без попыток ssh-keys
  • для подключения к серверу ssh требуется слишком много времени
  • Linux и Unix - лучшая ОС в мире.