Я использую два ноутбука (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, то же самое должно относиться и к вашему сценарию:
Другой вариант, который стоит рассмотреть, — SCP
(Secure Copy), который используется для безопасной передачи файлов через SSH
.