Без маршрутизатора + без экрана + обычный кабель Ethernet + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10
Сначала мы должны включить SSH-сервер на Pi, который по умолчанию отключен в целях безопасности.
Если у вас уже есть оболочка на Pi с использованием метода, отличного от SSH, такого как экран + клавиатура или UART (см. Ниже), просто запустите:
sudo systemctl enable ssh
sudo service sshd start
как объяснено по адресу: /raspberrypi/58478/ssh-not-working-with-fresh-install Это сохраняется при загрузке.
В противном случае вставьте SD-карту на свой хост и создайте волшебный пустой файл с именем ssh
file в boot/
разделе.
На хостах Ubuntu он монтируется автоматически, и вы можете:
sudo touch /media/$USER/boot/ssh
что вы можете подтвердить с помощью:
lsblk
который содержит:
mmcblk0 179:0 0 14.4G 0 disk
├─mmcblk0p1 179:1 0 43.9M 0 part /media/ciro/boot
└─mmcblk0p2 179:2 0 14.4G 0 part /media/ciro/rootfs
Если вы не включите демон SSHD на Pi, соединение SSH не будет выполнено с:
ssh: connect to host 10.42.0.160 port 22: Connection refused
когда мы попробуем позже.
После включения SSH-сервера
Затем загрузите Pi и подключите кабель Ethernet от вашего ноутбука напрямую к Pi:
В Ubuntu 17.04, чтобы обойти эту ошибку, как указано в этом ответе, вам сначала необходимо:
sudo apt-get install dnsmasq-base
На хосте откройте диспетчер сети:
nm-connection-editor
И иди:
+
знак (Добавить новое подключение)
- Ethernet
- Создайте
- Настройки IPv4
- Метод: общий для других компьютеров
- Установите для этого хорошее имя
- Сохранить
Найдите IP-адрес Pi на хосте:
cat /var/lib/misc/dnsmasq.leases
выводит что-то вроде:
1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69
10.42.0.160
это IP, то как обычно:
ssh pi@10.42.0.160
Еще у меня в запасе есть .bashrc
:
piip() ( cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3; )
pissh() ( sshpass -p raspberry ssh "pi@$(piip)"; )
Обратите внимание, что изнутри Pi, он может получить доступ к Интернету через другие интерфейсы вашего хоста:
ping google.com
Например, на моем ноутбуке Pi использует Ethernet, но хост также подключен к Интернету через Wi-Fi.
Перекрестный кабель не требуется, если сетевая карта хоста поддерживает Auto MDI-X . Это относится к самому последнему оборудованию, включая, например, Lenovo T430 2012 года, с которым я тестировал, который имеет «Intel® 82579LM Gigabit Network Connection», который документирует поддержку Auto MDI-X .
Теперь вы также можете:
Последовательный USB-преобразователь UART
Это альтернатива SSH, если вы просто хотите получить оболочку на Pi: https://en.wikipedia.org/wiki/Serial_port
Это не использует SSH или сеть как таковую, а скорее использует более старый, простой, прямой, более надежный, с меньшей пропускной способностью и меньшим расстоянием последовательного интерфейса. При использовании этого метода у Pi не будет доступа к Интернету.
Настольные компьютеры по-прежнему имеют последовательный порт, который вы можете подключить напрямую к проводу с помощью Pi, но они скрыты в большинстве ноутбуков, поэтому нам нужно купить дешевый USB-адаптер. Здесь я использовал: https://www.amazon.co.uk/gp/product/B072K3Z3TL См. Также: /unix/307390/what-is-the-difference-between- ttys0-ttyusb0-and-ttyama0-in-linux / 367882 # 367882
Сначала подключите SD-карту к хосту и отредактируйте config.txt
файл, присутствующий в первом разделе, чтобы добавить:
enable_uart=1
как объяснено на: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195
Этот первый раздел содержит загрузчик, его файлы конфигурации и ядро (Linux / your), которое config.txt
является одним из них. Второй раздел содержит настоящую корневую файловую систему Linux.
Теперь подключите свой компьютер к Pi как:
Вам нужно всего лишь подключить 3 кабеля:
- Земля на землю
- Tx на Pi к Rx на USB к последовательному порту
- Rx на Pi к Tx на tye USB к последовательному порту
Это также задокументировано по адресу: https://www.raspberrypi.org/documentation/usage/gpio/README.md.
Будьте осторожны, чтобы не связать землю с 5V, я уже сжег 2 UART на USB-чипы и RPI UART, сделав это!
Вам вообще не нужно подключать 5V к 5V. Я думаю, вы можете запитать свой Pi таким образом, но я читал, что это плохая идея, просто используйте обычный источник питания USB.
Наконец, подключите разъем USB к главному компьютеру и получите оболочку с:
sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200
Выйти с помощью Ctrl-A \
.
Вот видео Adafruit, показывающее это: https://www.youtube.com/watch?v=zUBPeoLW16Q
Смотрите также
Аналогичный вопрос по RPI SE: /raspberrypi/3867/ssh-to-rpi-without-a-network-connection