Удаленный доступ к Raspberry Pi 3 через SSH и VNC

Raspberry Pi 3. Удаленное управление через SSH и VNC

Дата Автор Dmitry6 комментариев 8 321 просмотров

Если первое, что необходимо освоить пользователю Raspberry Pi — это умение делать бэкапы, то следующим по важности и полезности пунктом идет организация удаленного доступа к микрокомпьютеру.

Единожды настроив удаленное управление Raspberry Pi, можно отсоединить от микрокомпьютера мышь, клавиатуру и монитор, да и вообще убрать «малину» с рабочего стола. А затем просто подключаться к ней со своего основного компьютера.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

  • Raspberry Pi 3 Model B
  • Локальная сеть
  • Компьютер, смартфон или планшет

В этой статье я рассматриваю удаленное управление Raspberry Pi с компьютера под управлением Windows. Для устройств под управлением Linux и macOS также возможно осуществление всех описываемых здесь действий, отличаться будут только названия используемых программ.

В двух словах о SSH и VNC протоколах

SSH (Secure Shell) — сетевой протокол, позволяющий производить удаленное управление операционной системой через шифрованное соединение, а также передавать файлы, транслировать видео- и аудиопотоки и сжимать передаваемые данные на лету.

Говоря простым языком, SSH — это та штука, через которую можно запустить на компьютере терминал для выполнения консольных команд на другом компьютере.

VNC (Virtual Network Computing) — более продвинутый протокол, обеспечивающий удаленный доступ к рабочему столу другого компьютера по сети.

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

В отличие от SSH, по VNC предоставляется доступ не только к консоли, но ко всему компьютеру, включая графический интерфейс.

Доступ к Raspberry Pi 3 через SSH

Для получения доступа к Raspberry Pi 3 по протоколу SSH нужно открыть инструмент конфигурации raspi-config:

sudo raspi-config

Выбрать в нем Interfacing Options:

Удаленный доступ к Raspberry Pi 3 через SSH и VNCИ включить SSH:

Удаленный доступ к Raspberry Pi 3 через SSH и VNC

Все, больше с Raspberry Pi ничего делать не нужно.

Теперь скачиваем на свой основной компьютер (с которого будет осуществляться управление) бесплатный SSH-клиент PuTTY.

Запускаем его и вводим IP-адрес своей «малины»:

Удаленный доступ к Raspberry Pi 3 через SSH и VNC

По умолчанию SSH работает на 22 порту, его менять не нужно.

После ввода IP-адреса нажимаем «Соединиться» и вот перед нами консоль нашего микрокомпьютера:

Удаленный доступ к Raspberry Pi 3 через SSH и VNC

Остается ввести логин (по умолчанию pi) и пароль (по умолчанию raspberry, меняется через raspi-config) и можно пользоваться.

Когда привыкаешь к консоли, то становится понятно, что графический интерфейс в принципе не особо и нужен. Но если он все-таки нужен, то доступ к нему легко организовывается посредством протокола VNC.

Доступ к Raspberry Pi 3 через VNC

Для получения доступа к Raspberry Pi 3 по протоколу VNC нужно открыть инструмент конфигурации raspi-config:

sudo raspi-config

Выбрать в нем Interfacing Options:

Удаленный доступ к Raspberry Pi 3 через SSH и VNCИ включить VNC:

Удаленный доступ к Raspberry Pi 3 через SSH и VNCПосле чего нужно установить сам VNC-сервер:

sudo apt-get update
sudo apt-get install realvnc-vnc-server

И запустить его:

vncserver :1

Теперь посмотрим на каком порту он прописался:

netstat -pan|grep 'vnc'

Скорее всего это будет порт 5901 или 5902:
Удаленный доступ к Raspberry Pi 3 через SSH и VNC

Теперь скачиваем на основной компьютер (с которого будет осуществляться управление) бесплатный VNC-клиент VNC Viewer.

Запускаем его:

Удаленный доступ к Raspberry Pi 3 через SSH и VNC

Через File -> New connection создаем подключение к Raspberry Pi, прописывая ее IP-адрес и порт, на котором прописался VNC-сервер.

Порт нужно писать через два двоеточия подряд!

Удаленный доступ к Raspberry Pi 3 через SSH и VNC

Если IP-адрес и порт указаны верно, то при подключении VNC-клиент запросит имя пользователя и пароль:

Удаленный доступ к Raspberry Pi 3 через SSH и VNC

И после их ввода мы получаем полный доступ к интерфейсу Raspbian PIXEL:

Удаленный доступ к Raspberry Pi 3 через SSH и VNC

Которым можно управлять при помощи мыши и клавиатуры.

Добавляем VNC-сервер в автозагрузку

Теперь пропишем запуск VNC-сервера в автозагрузку Raspbian чтобы не приходилось каждый раз вручную запускать его после перезагрузки.

Для этого перейдем в папку, где хранятся конфиги текущего пользователя:

cd /home/pi/.config

И посмотрим ее содержимое:

ls

Интересует наличие папки «autostart». Если ее нет — ее нужно создать, а если она уже есть — просто игнорируем этот шаг и идем дальше:

mkdir autostart

Переходим в только что созданную или уже существующую папку «autostart»:

cd autostart

Создаем новый файл:

nano realvnc.desktop

И прописываем в нем следующее:

[Desktop Entry]
Type=Application
Name=RealVNCServer
Exec=vncserver :1
StartupNotify=false

Этот файл при каждой загрузке графического интерфейса будет выполнять команду «vncserver :1».

Перезагружаем «малину» для применения изменений:

sudo reboot

Если все прошло верно, то VNC-сервер будет запущен автоматически и к нему можно будет подключиться.

Подключение к рабочему столу Raspberry Pi с Android-устройства

Установив VNC-сервер на Raspberry Pi, можно управлять ею не только с компьютера, но и со смартфона или планшета на Android.

Для этого скачиваем VNC Viewer в Google Play и конфигурируем соединение так же, как на компьютере:

Удаленный доступ к Raspberry Pi 3 через SSH и VNC

Подключаемся, вводим логин и пароль, попадаем в графический интерфейс Raspbian:

Удаленный доступ к Raspberry Pi 3 через SSH и VNC

Свайпами по экрану перемещается курсор мыши, «клик левой кнопкой мыши» осуществляется тапом по экрану, «клик правой кнопкой мыши» осуществляется тапом двумя пальцами по экрану, ну а средней кнопкой можно «кликнуть» посредством тапа тремя пальцами одновременно.

Подключение к рабочему столу Raspberry Pi с iPhone/iPad

Посредством VNC можно подключаться к рабочему столу Raspberry Pi и с устройств под управлением iOS.

Скачиваем VNC Viewer в App Store и конфигурируем соединение так же, как на компьютере:

Удаленный доступ к Raspberry Pi 3 через SSH и VNC

Подключаемся, вводим логин и пароль, попадаем в графический интерфейс Raspbian:

Удаленный доступ к Raspberry Pi 3 через SSH и VNC

Методы управления тут те же самые, что и в случае использования Android-приложения. Те же свайпы, те же тапы.

Но вообще, управлять «малиной» с маленького экрана iPhone — то еще извращение :).

Заключение

Вот таким простым способом можно сделать эксплуатацию «малинки» еще более удобной, избавив себя от необходимости держать само устройство на рабочем столе и подключать клавиатуру и монитор для совершения любого действия с ней.

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

Raspberry Pi 3B (английская сборка)в интернет-магазине GearBest Raspberry Pi 3B (китайская сборка)в интернет-магазине GearBest

Понравилась статья? Выразите благодарность автору переводом любой суммы на ваше усмотрение :)

6 комментария на «Raspberry Pi 3. Удаленное управление через SSH и VNC»

  1. ЭТО vncserver :1 — нужно делать каждый раз при включении Малинки? Вчера все сделал, сегодня попытался зайти — никак, подключился терминалом, запустил, потом зашел… Не сильно удобно, особенно если со смартфона планируется заходить.

    • Дополнил статью пунктом про добавление VNC-сервера в автозагрузку.
      Совсем забыл об этом во время ее написания, действительно, сам по себе vncserver после перезагрузки «малинки» не перезапускается.

  2. Как я вижу по ip адресу, то дозвон идет по адресам в одной сети, а как стучаться к своему устройству совсем с другого подключения?

    • Чтобы иметь доступ из интернета, нужно пробросить порты на роутере и настроить динамический DNS на самой малине. Я не стал об этом писать, т.к. на мой взгляд такое решение небезопасно.

      Более безопасный вариант — сделать Telegram-бота для управления малиной и залочить его на прием команд только со своего телеграмного ID. В будущем напишу пост про это.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *