Оглавление:

Удаленный доступ по SSH к Raspberry Pi 2: 5 шагов
Удаленный доступ по SSH к Raspberry Pi 2: 5 шагов

Видео: Удаленный доступ по SSH к Raspberry Pi 2: 5 шагов

Видео: Удаленный доступ по SSH к Raspberry Pi 2: 5 шагов
Видео: Удаленное подключение к Raspberry PI 2024, Ноябрь
Anonim
Удаленный доступ по SSH к Raspberry Pi 2
Удаленный доступ по SSH к Raspberry Pi 2

Вы когда-нибудь хотели развернуть Raspberry Pi «в поле» и при этом иметь к нему доступ?

Вот простой способ включить удаленный SSH-доступ к вашему Raspberry Pi 2 (и другим моделям тоже). Хотя существуют решения, включающие VPN или настройку переадресации портов на локальном брандмауэре, неспециалистам часто сложно ими управлять.

Новое поколение служб ретрансляции, включая My-Devices.net, Pagekite.net и Yaler.net, пытается исправить это. Здесь мы используем службу ретрансляции Yaler (раскрытие: я основатель) для обеспечения доступа SSH из любого места к Raspberry Pi 2.

Материал

- Raspberry Pi 2 (или любая модель), например

- USB-кабель, A / Micro B, например

- Карта Micro SD, 4 ГБ, например

- кабель Ethernet, например

Также необходимо

- Настольный или портативный компьютер

- Локальная сеть с DHCP

(Примечание: шаги 3-5 основаны на учебных пособиях CC BY-SA Yaler. Шаги 1 и 2 позволяют начать с нуля.)

Шаг 1. Установите Raspbian

(Если у вас уже запущен Raspbian, пропустите этот шаг.)

Скачать образ

Давайте использовать образ Raspbian Jessie (Lite), в котором по умолчанию запущен sshd. Это плюс для «безголовой» установки без дисплея, мыши или клавиатуры.

- Получите самый последний образ Raspbian с https://www.raspberrypi.org/downloads/ или воспользуйтесь этой прямой ссылкой.

- Разархивируйте ZIP-архив с изображением, чтобы получить файл изображения IMG.

Подготовьте SD-карту в Mac OSX

Есть много способов подготовить SD-карту на Mac. Вот мой любимый:

- Загрузите инструмент PiFiller с https://ivanx.com/raspberrypi/ или воспользуйтесь этой прямой ссылкой.

- Запустите PiFiller и выберите файл образа IMG, загруженный выше.

Подготовьте SD-карту в Windows

- Загрузите Win32 Disk Imager с

- Запустите инструмент и выберите IMG, загруженный выше (дважды проверьте диск)

Подготовьте SD-карту в Linux

- Следуйте инструкциям на странице

Используйте SD-карту

- Вставьте SD-карту в Raspberry Pi 2

- Подключите кабель Ethernet к локальной сети.

- Подключите USB-кабель для питания устройства и подождите…

Выполнено. Через несколько минут Raspbian должен встать.

Шаг 2. Найдите Raspberry Pi 2 в локальной сети

(Если у Raspberry Pi 2 есть дисплей, мышь и клавиатура, пропустите этот шаг.)

Где мой Распи?

После установки Raspbian и подключения Raspberry Pi 2 к локальной сети он должен автоматически получить IP-адрес с помощью DHCP и запустить sshd, который прослушивает входящие SSH-соединения на порту 22. Но что это за IP?

Давайте посмотрим

Один из способов узнать локальный IP-адрес Raspberry Pi 2 (и любого другого устройства) - использовать инструмент командной строки nmap.

- Получите nmap с

- Чтобы получить локальный IP-адрес вашего компьютера, откройте терминал и введите

$ ifconfig

что-то вроде en0: flags =… 192.168.0.7 netmask…

- Запустите nmap-запрос для порта 22, используя префикс вашего локального IP-адреса, например

$ nmap 192.168.0.0-255 -p22

- Проверить результат (если IP-адресов несколько, обычно он самый высокий)

Убедитесь, что это твое

- Получите локальный SSH-доступ к Raspberry Pi 2 с помощью ssh, используя его локальный IP-адрес, например

$ ssh [email protected]

- Введите пароль, по умолчанию он малиновый

- Измените пароль, набрав

$ passwd

Выполнено? Теперь ваш Raspberry Pi 2 готов к подключению к службе ретрансляции.

Шаг 3. Установите демон YalerTunnel

Обзор

Демон YalerTunnel - это небольшое программное обеспечение, которое мы поставим на ваш Raspi для подключения локальных служб, работающих на устройстве, к службе ретрансляции в облаке. Нравится:

Служба ретрансляции <- Локальная служба SSH межсетевого экрана

Получить домен ретрансляции

Каждому устройству, подключенному к службе ретрансляции, необходим домен ретрансляции.

- Получите бесплатную пробную учетную запись, включая домен ретрансляции, на

(Или, чтобы разместить собственное реле для некоммерческого использования, см.

Установить YalerTunnel

Давайте соберем демон YalerTunnel из исходников.

- Откройте оболочку на Raspberry Pi 2 и обновите apt-get с помощью

$ sudo apt-get update

- Загрузите и установите libssl с

$ sudo apt-get install libssl-dev

- Создайте каталог yalertunnel

$ mkdir yalertunnel

$ cd yalertunnel

- Загрузите, разархивируйте и соберите исходный код YalerTunnel

$ wget

$ tar xfzmv YalerTunnel2.src.tar.gz $./configure && make

Выполнено? Тогда запустим демон.

Шаг 4: Запустите демон YalerTunnel

Включить доступ по SSH через Yaler

$ sudo apt-get install runit

- Создайте каталог службы yalertunnel-ssh

$ sudo mkdir / etc / service / yalertunnel-ssh

$ CD / и т. д. / сервис / yalertunnel-ssh

- Загрузите скрипт запуска yalertunnel и сделайте его исполняемым

$ sudo wget https://s3.yaler.net/raspi/run-ssh -O run

$ sudo chmod a + x запустить

- Загрузите скрипт завершения yalertunnel и сделайте его исполняемым

$ sudo wget

$ sudo chmod a + x отделка

- Откройте сценарий запуска с помощью

$ sudo nano / etc / service / yalertunnel-ssh / запустить

- Проверьте путь (по умолчанию: / home / pi / yalertunnel), установите порт локальной службы SSH (по умолчанию: 22) и укажите свой домен ретрансляции.

1 #! / Bin / sh

⋮ 6 exec / home / pi / yalertunnel / yalertunnel proxy 127.0.0.1:22 try.yaler.io:80 RELAY_DOMAIN & 1 | регистратор -t yalertunnel-ssh

Сохраните изменения, нажав CTRL-X, затем Y, затем RETURN. Не меняйте локальный IP-адрес (по умолчанию: 127.0.0.1), если только служба SSH не работает на отдельном устройстве в той же сети.

- Перезагрузите Raspberry Pi 2, чтобы запустить скрипт.

$ sudo перезагрузка

Выполнено. Теперь давайте посмотрим, как получить доступ к Raspi.

Шаг 5. Доступ к Raspberry Pi 2 с помощью клиента SSH

Использование Putty в Windows

- Следуйте инструкциям

Использование ssh на Mac или Linux

В отличие от Putty, команда ssh не поддерживает «HTTP CONNECT», поэтому нам также понадобится YalerTunnel на этой стороне реле. Вот как это выглядит:

Клиент SSH -> YalerTunnel в режиме клиента -> (Брандмауэр) -> Служба ретрансляции

Установите YalerTunnel на Mac или Linux

- Убедитесь, что установлен JDK6 (или новее).

- Убедитесь, что ваша переменная среды PATH содержит каталог bin JDK.

- Загрузите исходный код Java YalerTunnel с

- Разархивируйте ZIP-файл, откройте терминал и создайте YalerTunnel с помощью

$ javac YalerTunnel.java

Удаленный доступ к Raspberry Pi 2 с помощью SSH

- На клиентском компьютере, чтобы запустить YalerTunnel в клиентском режиме, введите

$ java YalerTunnel client localhost: 10022 try.yaler.io:80 RELAY_DOMAIN

- Во втором терминале на клиентском компьютере войдите в свое устройство через локальный YalerTunnel с помощью ssh.

$ ssh pi @ localhost -p 10022 -o ServerAliveInterval = 5

Выполнено. Теперь у вас должен быть SSH-доступ к вашему Raspberry Pi 2.

Исправление проблем

Если нет связи

- Убедитесь, что вы используете правильный домен ретрансляции.

- Чтобы узнать, запущена ли на вашем устройстве служба YalerTunnel, введите

$ ps aux | grep [y] оповещение

Вот и все. Спасибо, что дочитали до конца. Если у вас есть вопросы, свяжитесь с нами.

Рекомендуемые: