SSH через публичную локальную сеть?

SSH через публичную локальную сеть?

Я использую два ноутбука (OS X и Windows 10) в Starbucks и хочу передать файл с одного на другой без использования USB-флешки. Это большой файл, поэтому я не хочу отправлять его через Интернет, а хочу использовать локальную сеть. Как мне настроить SSH через LAN? Возможно ли это в публичной сети, как в Starbucks, или мне нужно контролировать переадресацию портов на уровне маршрутизатора и т. д.?

Я настроил ssh-сервер на целевом хосте в Cygwin и успешно могу подключиться к нему через ssh -v localhost. Я также могу подключиться туда с помощью (используя локальный IP, который я нахожу с помощью ipconfig в Cygwin и читаю строку под названием «IPv4 Address»). Однако, когда я пытаюсь выполнить эту же команду SSH с клиента MacBook, чтобы попытаться подключиться к хосту Windows, она терпит неудачу из-за тайм-аута..ssh -v [email protected]

решение1

Самый простой способ передачи файлов с использованием технологии, подобной SSH, — это, вероятно, использование команды scp, входящей в состав OpenSSH.

scp [email protected]:/file .

Если вы хотите попробовать GUI, WinSCP.net хорош для Windows. Вы можете подключиться к 127.0.0.1, чтобы увидеть, какие имена файлов появляются.

Похоже, что одна система не принимает трафик на порту TCP 22. Это может быть связано с отсутствием сервера SSH или с блокировкой трафика технологией типа брандмауэра. Я предлагаю "netstat -na" (должен работать на системах Unix, как я понимаю, Mac OS X... также работает на Microsoft Windows), чтобы подтвердить, прослушиваете ли вы порт TCP 22 (и какой адрес). В противном случае, можете ли вы запустить sshd для запуска сервера SSH?

Что касается того, могут ли системы общаться друг с другом, это зависит от того, как все настроено. Теоретически Starbucks может ограничить трафик между устройствами по Wi-Fi, сделав такие коммуникации невозможными через сеть Starbucks. На практике многие организации не беспокоятся о такой защите. Я не знаю, что Starbucks делает в последнее время, и есть вероятность, что такие детали могут со временем измениться.

Другой возможностью может быть использование сети Wi-Fi "Ad hoc". Если вы можете сделать это с обоими вашими компьютерами, вам, возможно, вообще не понадобится использовать оборудование Wi-Fi Starbucks (что означает, что Wi-Fi Starbucks не будет вызывать никаких проблем).

Отключение брандмауэра Windows, как предлагается в другом ответе, скорее всего, поможет Mac взаимодействовать с брандмауэром Windows. На самом деле это подход, который НЕ рекомендуется, несмотря на то, что он может работать. Такой подход может быть простым, но также может привести к ненужным рискам безопасности. Можно использовать лучшие подходы, например, просто создать одно правило/исключение в программном обеспечении брандмауэра Windows, чтобы порт TCP 22 был доступен из внешнего трафика. Вы можете проверить такое подключение из среды, в которой может быть проще устранять некоторые неполадки (например, дома, с похожими машинами, в проводной сети).

Надеюсь, это отвечает на ваши вопросы. Некоторые из предоставленных вами данных немного расплывчаты (какая система смогла успешно запустить "ssh"? Какая система имела этот IP-адрес?)

решение2

Я предлагаю вам начать с отключения брандмауэра Windows 10. Затем выполните команду ping для машины Windows 10 со своей второй машины (OS X), чтобы проверить, доступна она или нет.

Если ping работает нормально, выполните следующую команду на вашем компьютере OS X: telnet 172.31.98.84 22

Если он говорит, что подключен, то ваша машина с Windows 10 прослушивает порт SSH. Теперь попробуйте ssh на машине с Windows 10, если это сработает, то вам нужно разрешить порт 22 для входящих подключений на вашем брандмауэре Windows 10, как только вы снова его включите.

решение3

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

Из вашего описания я предполагаю, SSHчто он уже настроен на вашем компьютере с Windows.

На вашем Macintosh вам нужно будет убедиться, SSHчто запущен. Вы можете проверить это следующим образом:

ps aux | grep sshd

на вашем терминале. Он должен предоставить вам некоторую информацию, например номер процесса, время запуска и т. д., если SSHдемон уже запущен.

Если вы ничего не видите в приведенной выше команде, SSHскорее всего, она не включена и не работает. На вашем Macintosh, чтобы включить SSH:

Системные настройки -> Общий доступ -> Удаленный вход

следует проверить. Чтобы проверить IP вашего Macintosh, выполните ifconfigи узнайте inetадрес из интерфейса, к которому вы подключены (en0/en1/..).

Если описанный выше метод не сработал, вам, вероятно, придется добавить статические IP-адреса на обоих компьютерах, а затем попробовать SSH.

Проверьте эту ссылку, хотя она и относится к Ubuntu, то же самое должно относиться и к вашему сценарию:

https://askubuntu.com/questions/305229/какой-лучший-способ-подключения-ssh-к-машинам-в-локальной-сети

Другой вариант, который стоит рассмотреть, — SCP(Secure Copy), который используется для безопасной передачи файлов через SSH.

Связанный контент