Запуск Raspberry Pi 3 без монитора

Если вы хотите использовать Raspberry Pi как отдельный компьютер в сети, не занимающий монитор ноутбука или телевизора и не требующий дополнительного TFT-монитора, подключайте по протоколу SSH, чтобы использовать только мощности RPi как сервера. Превратим Raspberry Pi 3 в компьютер в автономном режиме, развернув на нём сервер RDP (remote desk protocol).

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

  1. Raspberry Pi 3 (можно 2)
  2. Карта памяти MicroSD не менее 8гб
  3. Зарядка (блок питания) 5 вольт на выходе
  4. Кабель micro-b usb папа
  5. Кабель Ethernet RJ-45
  6. Адаптер карты памяти  MicroSD
  7. Образ Kali Linux для Raspberry Pi 3 (2) на флешке
  8. Роутер (имеющий больше 1 порта)
  9. Ноутбук со слотом для карты MicroSD (я тестировал на Ubuntu)
raspberry-pi-bez-monitora

0. Вставляем карту памяти в адаптер и в ноутбук, при необходимости форматируем

Если на вашей карте уже есть данные, её надо отформатировать. Сделаем это с помощью GParted. Скачиваем GParted, набрав в консоли:

sudo apt-get update
sudo apt-get install gparted

Запускаем GParted:

gparted-unmount-delete

Правой кнопкой мыши кликаем поочередно цветные разделы верхней полосы и выбираем в меню Unmount, потом снова кликаем по ним и выбираем Delete. Затем кликаем пкм по получившейся серой полосе:

gparted-create-new-partition

и выбираем new, в окне Create new partition напротив File system выбираем ext3 или ext4 и жмем Add (окно закроется):

gparted-new-partition-ext3

Жмем зеленую галку, во всплывающем окне жмем Apply:

Все! Файлы удалены, карта отформатирована.

1. Закатываем на карту образ Kali Linux:

Официальный мануал по установке на сайте Kali Linux

На странице со списком дистрибутивов Kali Linux качаем образ для RaspberryPi 2 / 3.

По двойному клику на скачанном образе откроется утилита Убунты Disks, которая предложит записать образ. Выбираем в списке свою карту памяти (по умолчанию она имеет точку монтирования /dev/sdb) и жмем Start Restoring:

wrinting-kali-linux-image-to-sd-card

В новом окне жмём Restore:

write-kali-image-to-card

Начинается запись образа:

raspberry-pi-kali-linux-image

По окончании вынимаем флешку из ноутбука, вставляем её в Raspberry Pi и подключаем Raspberry Pi к роутеру: через порт Ethernet (с помощью кабеля RJ-45) и в розетку (через кабель micro-b usb с зарядным устройством):

headless-raspberry-pi-kali-linux.jpg

3. Подключаемся к Raspberry Pi 3 по локальной сети

Для определения IP-адреса RPi отключаем всех пользователей роутера. Для этого заходим на роутер, набрав в браузере адрес 192.168.0.1 (в качестве альтернативы можно в консоли набрать команду apr -a, которая покажет все подключенные к вашему роутеру ip-адреса, из которых вы можете выбрать, к какому подключиться. Какой IP-адрес ответит запросом ssh-ключа на команду ssh [email protected], тот и есть ip-адрес вашего Raspberry Pi). Этот адрес подходит для большинства роутеров, если вам он не подойдет, посмотрите адрес на нижней поверхности роутера. По этому адресу вы увидите ARP-таблицу, в ней 2-3 IP-адреса:

connect-raspberry-pi-local-network

При помощи команды ifconfig вы можете исключить свой ip-адрес и попробовать подключиться к оставшемуся адресу командой (Kali потребует пароль, по умолчанию пароль toor):

ssh [email protected]

Как только вы определите ip-адрес RPi3, вам надо его связать в ARP таблице, поставив галочку “связать” и записать себе в блокнот, чтобы не забыть в дальнейшем, куда подключаться.

Если подключиться не удалось, проверьте кабели, питание и флешку (что все хорошо подключено). Если это не помогло, попробуйте перезагрузить роутер, иногда зависает APR-таблица.

Если подключение командой ssh [email protected] прошло успешно, в консоли вы увидите:

The programs included with

the Kali GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon May  1 14:53:04 2017 from 192.168.0.102
root@kali:~#

Видите? Все, подключение есть. Теперь надо установить рабочий стол для Kali Linux.

2. Установка рабочего стола для Kali Linux

Kali Linux — дистрибутив семейства deb, и по умолчанию включает установщик пакетов apt-get и dpkg. Для работы с графической средой Kali Linux нам нужно установить рабочий стол версииGNOME:

apt-get install gnome-core

kali-defaults kali-root-login desktop-base

Gnome установится автоматически.

После этого надо загрузить свежие пакеты Kali Linux:

apt-get update && apt-get upgrade
apt-get dist-upgrade

Теперь установим RDP-сервер.

5. Установка RDP-сервера

Установим RDP-сервер:

apt-get install xrdp

После завершения установки запускаем его:

service xrdp start
service xrdp-sesman start

Если вы хотите, чтобы RDP-сервер запускался при загрузке Raspberry Pi, выполните (но эта команда не делает автозапуск xrdp-sesman):

update-rc.d xrdp enable

3. Подключение к RDP-серверу

Мы будем подключаться к десктопу при помощи программы Rdesktop. Если он у вас не стоит, поставьте:

sudo apt-get install rdesktop

Хелп программы:

desktop --help

Официальный мануал Rdesktop

Подключаемся к нашему RDP-серверу с помощью Rdesktop:

rdesktop -g 1200x600 -P -z -x l -r

sound:off -u root -k en-us 192.168.0.100

, где

  • rdesktop — программа
  • -g — разрешение окна рабочего стола
  • -r — управление мультимедиа (в данном случае мы выключили звук)
  • -k — какой язык будет стоять в раскладке по умолчанию (выбрали en-us)
  • 192.168.0.100 — адрес нашего Raspberry Pi (указывается в конце)

Логинимся в RDP-сервер (напоминаю, дефолтный пароль — toor):

rdesktop-kali-login

Если после этого вместо рабочего стола Kali Linux увидите черный экран, перезапустите RDP-сервер и подключитесь заново:

service xrdp restart
service xrdp-sesman restart
rdesktop -g 1200x600 -P -z -x l -r

sound:off -u root -k en-us 192.168.0.100

kali-linux-on-raspberry-pi

Все! Теперь, если вы включили ранее автозапуск с помощью update-rc.d xrdp enable, при перезагрузке вам нужно только ввести команду:

rdesktop -g 1200x600 -P -z -x l -r

sound:off -u root -k en-us 192.168.0.100