Как включите компьютер из любой точки мира с помощью Android или современный Wake-on-LAN — Chrome World по-русски

Как включите компьютер из любой точки мира с помощью Android или современный Wake-on-LAN

Я перепробовал много приложений и решений и почти сдался. Пока я не собрал вызывающий, но продвинутый метод. Следовательно, я написал эту статью, чтобы помочь вам настроить цепочку устройств для выполнения, казалось бы, простой задачи: перевести компьютер в спящий режим или включить компьютер из любого места. Вот как это будет работать, в двух словах. Вы нажимаете на виджет Tasker на главном экране телефона Android. С помощью плагина для Tasker он подключается к Raspberry Pi через SSH, чтобы локально отправить пакет Wake-on-LAN (WoL) на ваш компьютер, чтобы включить его. Другая кнопка использует SSH для входа на компьютер с Windows 10 и выполнения команды для спящего режима или выключения. Итак, вам понадобится:

  • Android-телефон с Tasker и плагином SSH Tasker (платный)
  • Маршрутизатор с функцией переадресации порта
  • Raspberry Pi (или любой домашний сервер под управлением Linux)
  • Настольный компьютер с Windows 10, подключенный через кабель Ethernet

Это настоящая борьба

Итак, почему бы не использовать некоторые из тех «простых волшебных» приложений, которые обещают включить ваш компьютер из любого места? Они в основном не работают из-за упрощенных требований. Эти приложения не рассчитывают на такие вещи, как дрянной маршрутизатор ISP, который есть у многих из нас. Я обнаружил, что ради надежности WoL работает только локально (отсюда и название «Local»). Однако мы хотим Wake on WAN.

Вам нужен либо правильный маршрутизатор, либо Raspberry Pi (или любой другой домашний сервер). У меня уже был последний, который всегда включен и помогает мне обойти ограничения роутера . Основным преимуществом использования этих методов является их универсальность. Речь идет не о показе проприетарного приложения, которое пытается управлять вашим компьютером. Речь идет об использовании многоцелевых и вызывающих инструментов, которые вы, возможно, уже имели или должны иметь на своих устройствах в любом случае Если вы решитесь на geekdom, то вскоре обнаружите, что имеете доступ  ко всем вашим устройствам. Если вы занимаетесь дистанционным управлением и автоматизацией, вы будете пересекать пути с помощью Tasker для Android.

Я надеюсь, что вы узнаете что-то из этой статьи, даже если ваш вариант использования немного отличается. Трудно было придумать название, так как процесс запутался. Он охватывает множество различных технологий, и возможность включения компьютера из любого места может быть просто побочным эффектом. Конечный результат очень гибкий , что позволяет вам иметь в Android кнопки, которые делают все что угодно в вашей домашней сети. Хотя можно также адаптировать процесс для разных устройств (например, Apple), я могу поделиться только тем, что испытал.

Конфигурация домашней сети

Переадресация портов в роутере

Прежде всего, давайте уберем это с пути. Единственное, что требуется от вашего роутера – это открытие портов, чтобы разрешить вход по SSH на ваши устройства . Практически каждый маршрутизатор должен быть способен к этой простой задаче. Поскольку этот учебник для продвинутых, я не буду объяснять, как это сделать, так как по этому вопросу доступно множество ресурсов. Кроме того, интерфейс каждого маршрутизатора отличается. По крайней мере, он не должен поддерживать пересылку магических пакетов WoL.

Перенаправьте порт 22 на настольный компьютер под управлением Windows 10. Это помогает, если локальный IP-адрес этого компьютера не меняется. Сделайте так, чтобы он назначил свой собственный локальный IP или DHCP резервный для него.

Перенаправьте порт 2222 на Raspberry Pi или на ваш домашний сервер. Причиной 2222 является не безопасность через неизвестность, а просто в том, что нам нужны два разных порта для подключения двух разных устройств за одним IP.

Доступ к вашей сети извне

Вам необходимо знать IP, назначенный вам вашим провайдером. К счастью, я уже написал статью, которая освобождает вас от этого бремени. Так как для этого вам все равно нужен домашний сервер Linux, вы можете просто использовать Cloudflare в качестве динамического DNS с Raspberry Pi . С этого момента я буду называть адрес домашней сети home.example.comхостом.

Конфигурация настольного компьютера

Настройка вашего компьютера для приема пакетов WoL

Это еще один аспект, который не обязательно является предметом данной статьи. Каждый UEFI или BIOS отличается. Единственное, что я могу сделать, это указать вам правильное направление. Возможно, Wake-on-LAN там отключен, поэтому поищите этот параметр, прежде чем копаться в Windows.

Взгляните на свойства сетевого адаптера

Сетевой адаптер также может отключить эту функцию.

  1. В Windows 10 нажмите Windows+R и Enter, далее ncpa.cplоткрыть окно « Сетевые подключения» .
  2. Выберите адаптер, затем щелкните правой кнопкой мыши меню> Свойства> Настройка> вкладка «Дополнительно».
  3. Из списка найдите Wake on Magic Packet и убедитесь, что он включен .
  4. На вкладке « Управление питанием» установите флажок «Разрешить этому устройству пробуждать компьютер» и «

    Wake on Magic Packet
    для пробуждения компьютера».

Получение MAC-адреса вашего настольного компьютера

  1. Нажмите Win+R
  2. Запустить cmd /k ipconfig /all
  3. Ищите Физический адрес для первого адаптера, который выглядит примерно так 01-23-45-67-89-AB. Обратите внимание, что нужно изменить тире на двоеточия, например так: 01:23:45:67:89:AB( обе записи верны, но Etherwake нужны двоеточия).

Установка SSH-сервера в Windows 10

Windows 10 включает SSH-сервер, но по умолчанию он скрыт. Найдите в меню «Пуск» пункт « Управление дополнительными функциями» и нажмите « Добавить функцию» . Вы найдете OpenSSH Server и нажмите Установить.

Как включите компьютер из любой точки мира с помощью Android или современный Wake-on-LAN

Если ваша Windows 10 обновлена, это уже не бета-версия. Я рекомендую обновить Windows до этого! Вам не нужно устанавливать клиент.

  1. После этого перезагрузите.
  2. Проверьте Windows+ Rи запустите, services.mscчтобы увидеть список услуг.
  3. Найдите службу SSSS-сервера OpenSSH и установите для нее значение Автоматически (отложенный запуск) .
  4. Попробуйте запустить сервис и надейтесь на лучшее. Если вы застряли в этом, и служба не будет работать, Google это: openssh сервер Windows 10

Как включите компьютер из любой точки мира с помощью Android или современный Wake-on-LAN

Ваше имя пользователя и пароль для Windows

SSH требует пароль, если вы не используете ключи SSH (пока слишком далеко для geekdom). Самый простой способ – установить пароль для вашего пользователя Windows . Возможно, у вас уже есть один. Я никуда не перемещаю компьютер, и я единственный пользователь. Поэтому я не хочу пароль. Технически у меня есть, но Windows не применяет его. Можно пропустить экран входа в Windows 10 ( Windows+ R и netplwiz).

Как включите компьютер из любой точки мира с помощью Android или современный Wake-on-LAN

Таким образом, вы можете быть ленивым в том, что вам не нужно вводить пароль каждый раз, когда вы хотите использовать компьютер, но все еще имеете его. Этот пароль (для SSH) должен быть безопасным, поскольку он дает возможность полного доступа к вашей машине.

Raspberry Pi или конфигурация домашнего сервера

Настройка SSH-сервера на Raspberry Pi

Официальная документация помогает с этим, но это просто. В Raspbian перейдите в Меню> Настройки> Конфигурация Raspberry Pi> вкладка Интерфейсы: выберите Включено рядом с SSH, затем нажмите OK .

Чтобы изменить порт на 2222 , откройте терминал и запустите это:

sudo nano /etc/ssh/sshd_config

Измените #Port 22на Port 2222затем нажмите Ctrl+ X, затем, Y чтобы сохранить затем, Enter когда спросит, и перезагрузите устройство.

Установка и использование Etherwake на Raspberry Pi

Установите Etherwake , запустив это:

sudo apt-get install etherwake

Это позволяет вам выполнить простую команду с MAC-адресом целевого устройства, чтобы разбудить его. Чтобы использовать и проверить его, выключите или переведите компьютер в спящий режим. Затем выполните эту команду из терминала:

sudo etherwake 01:23:45:67:89:AB

Вам необходимо заменить 01:23:45:67:89:ABреальный MAC-адрес сетевого адаптера настольного компьютера. Вы должны только продолжить настройку Android, если это сработало .

Ваш Raspberry Pi имя пользователя и пароль

Имя пользователя – пи (не root ) для SSH. Вам нужно установить пароль (это не сделает вашу жизнь сложнее, в отличие от пароля Windows). Опять же, следуйте официальной документации по обеспечению безопасности вашего Raspberry Pi (просто раздел « Смена пароля по умолчанию , но не обязательно все это!»).

Конфигурация Android

Два обязательных приложения: Tasker и плагин SSH Tasker

Зайдите в магазин Play и купите Tasker и SSH Tasker Plugin . Я пробовал множество других комбинаций и плагинов, ни один из них не работал. Доверьтесь мне.

Я бы тоже предпочел бесплатное решение. Однако везде, куда бы я ни посмотрел, я сталкивался с этой задачей Tasker. Он может сделать гораздо больше, поэтому, возможно, покупка оправдана его величием. Плагин SSH Tasker позволяет вам сохранять несколько разных соединений, и это то, что нам нужно, так как есть два SSH-сервера.

Вы заметите, что Tasker теперь работает как постоянное уведомление. На данный момент вы не используете никакие средства автоматизации и триггеры или датчики, которые требуют, чтобы он работал постоянно. Поэтому вы можете отключить это агрессивное постоянство, сняв флажок «Предпочтения»> «Монитор»> «Выполнить на переднем плане» и «Показать значок уведомления».

Как включите компьютер из любой точки мира с помощью Android или современный Wake-on-LAN

Задача, которая усыпляет или выключает компьютер

  1. Перейдите прямо на вкладку « Задачи » и создайте новую с именем, например, Hibernate или Shutdown или чем-то еще.
  2. Добавьте действие и запишите ssh в фильтр (слишком много, чтобы попытаться найти его вручную) и выберите SSH Plugin .

    Как включите компьютер из любой точки мира с помощью Android или современный Wake-on-LAN

  3. Нажмите « Конфигурация» и заполните следующую информацию:
# Address:
winusername@home.example.com:22
# Password:
Your windows login password.
# The remote command for hibernation:
shutdown -h
# OR the remote command for forcing shutdown:
shutdown -f

Это будет выглядеть примерно так:

Как включите компьютер из любой точки мира с помощью Android или современный Wake-on-LAN

Эта задача включит ваш компьютер из любого места

1. Создайте новое задание с именем, например Wake .
2. Добавить действие, Фильтр для SSH, затем выберите плагин SSH .
3. Нажмите « Конфигурация» и используйте следующие данные:

# Address:
pi@home.example.com:2222
# Password:
Your password on the Raspberry Pi belonging to the user pi.
# The remote command for waking up your computer:
sudo etherwake 01:23:45:67:89:AB

Это будет выглядеть примерно так:

Как включите компьютер из любой точки мира с помощью Android или современный Wake-on-LAN

Создание виджетов главного экрана из задач Tasker

У вас может быть необычная иконка для ваших задач . Поэкспериментируйте с иконками перед тем, как сделать из них виджет. Я выбрал пламя для включения (интересно: что это за символ для включения чего-либо?), А также кнопку питания общего назначения Значок материала для режима гибернации.

Как включите компьютер из любой точки мира с помощью Android или современный Wake-on-LAN

Перейдите на экран, на котором вы хотите увидеть кнопки. В зависимости от вашего Android Launcher (я использую Nova Launcher ), вы, вероятно, долго нажимаете на свободное место, чтобы добавить виджет . Найдите Tasker и выберите задачу под названием « Задача» , а не «Ярлык задачи». Последний не работал так хорошо для меня. Выберите задачу, которую вы хотите, затем повторите это для другой. Проверьте свои кнопки, если все прошло хорошо, они должны работать даже без Wi-Fi . Тем не менее, вам нужно подключение для передачи данных .

На случай, если вам интересно, мои обои – « Маленькая память» Микаэля Густафсона . И мои домашние сенсорные кнопки выровнены таким образом, потому что я перешел с телефона Samsung на LG.

Дополнительно: тестирование с помощью бесплатного JuiceSSH

Если по какой-либо причине вам нужен бесплатный подход, вы можете попробовать JuiceSSH . Это отличный SSH-клиент , который позволяет сохранять различные сведения о соединении, чтобы вы могли быстро и бесплатно получить доступ к оболочке своих устройств. Если вы согласны с тем, что у вас нет виджета с одним касанием, и вам удобно писать две команды от руки , то в любом случае используйте JuiceSSH. Их платная версия может позволить вам иметь виджеты, но это дороже, чем Tasker.

Также полезно сохранять JuiceSSH установленным, если вам нужно запустить команды, отличные от тех, для которых вы предварительно сконфигурировали задачи Tasker. Раньше был плагин JuiceSSH Tasker (теперь его нет в магазине Play), у которого были проблемы с падением. Однако сам по себе JuiceSSH приличный, и мне это нравится.

Как включите компьютер из любой точки мира с помощью Android или современный Wake-on-LAN

Вывод

Мне нравится соединять разные сервисы, чтобы создать что-то более значимое. Несмотря на то, что мне потребовался почти целый день, чтобы понять все это, я рад возможности поделиться этим процессом с вами. Почему кто-то хочет удаленно контролировать состояние питания своего настольного компьютера ? Представьте, что вы находитесь в отпуске и, потому что вы немного эко-сознательны, вы выключили устройства дома. Появляется некоторая чрезвычайная ситуация, и вам нужно получить доступ к файлу на рабочем столе. Теперь вы можете включить свой компьютер из любой точки мира. С программным обеспечением удаленного рабочего стола, таким как VNC, вы можете использовать его так, как если бы вы сидели прямо перед ним. Лучше всего то, что вы можете выключить его снова, чтобы сэкономить энергию. Зная, что Вам не нужен посредник, чтобы включить его, когда он понадобится снова, и это отлично!

Для тех из вас, кто начинает понимать, что такое Tasker, вы найдете другие отличные варианты использования . Скорее всего, вы обнаружите несколько полезных триггеров для включения и выключения рабочего стола. Вы можете отсканировать метку NFC по прибытии домой или использовать обнаружение местоположения на основе GPS, чтобы включить ваш спящий настольный компьютер, включить свет, запустить музыку, заваривать кофе или что-то еще :). Не превращайся в этого парня . Это только начало.