У меня дома Raspberry Pi модель B, но у меня нет экрана. Мой план состоит в том, чтобы подключить его к Ethernet, а затем подключить к нему ssh. Но это означает, что SD-карта с операционной системой (Debian Squeeze) должна быть подготовлена в первую очередь. Я вижу два пути:
Подготовьте SD с ОС так, чтобы RPi всегда подключался к Ethernet по фиксированному IP-адресу и включал SSH-сервер.
Подготовьте SD с ОС так, чтобы RPi подключался к сети, включал SSH-сервер и затем передавал его IP-адрес, чтобы я мог подключиться к нему по ssh.
Какой из этих способов проще? И как мне это сделать? Есть ли другие способы?
У меня есть следующие инструменты: Ubuntu 10.4, MacOS 10.5, Windows 7, но только в Ubuntu есть кардридер. К сожалению, я не могу получить доступ к таблице DHCP моего маршрутизатора, она полностью закрыта.
Ответы:
Чтобы включить ssh при запуске, сделайте резервную копию
boot.rc
загрузочного раздела на образе SD и замените его наboot_enable_ssh.rc
Я не знаю о вашем маршрутизаторе, но вы можете настроить его так, чтобы зарезервировать фиксированный IP-адрес для MAC-адреса вашего Pi.
источник
Скопировать
boot_enable_ssh.rc
вboot.rc
из/boot
в малине Пиrootfs
(SD - карте)Все еще в Raspberry Pi
rootfs
, отредактируйте/etc/network/interfaces
, чтобы назначить фиксированный IP-адрес (так что сервер DHCP не требуется). Например,Загрузите Raspberry Pi, используйте кабель Ethernet, чтобы подключить его к той же сети, к которой подключен ваш компьютер (или подключите его напрямую к компьютеру), и войдите в систему через SSH:
Установите легкий сервер VNC в Raspberry Pi:
Затем запустите VNC-сервер (вам будет предложено установить пароль):
Установите VNC-клиент на свой ПК:
Затем подключитесь к Raspberry Pi через VNC с вашего ПК:
Это просто работает здесь таким образом :)
источник
Ничего
boot_enable_ssh.rc
подобного не существует в текущих сборках Raspian. Вы загружаетесь, хорошее графическое меню дает вам некоторые опции (в том числе, должен ли SSHD загружаться при загрузке), а затем выводит вас в командную строку.Это здорово, если ... вы графический пользователь.
Если нет, то вы остаетесь в положении, в котором вам нужно каким-то образом бежать наружу
update-rc.d
. Все, что на самом деле делает, это создает символическую ссылку на/etc/init.d/...
скрипт в различных точках/etc/rc{0..6}.d/...
файловой системы. Смущенный? Не берите в голову - наносить ущерб просто.Я предполагаю, что вы делаете это с компьютера Linux. По крайней мере, что-то с использованием Bash, или что-то совместимое. То, что я предлагаю, не будет работать из Windows без Cygwin (или другого). Смонтируйте SD-карту и
cd
в нее.Бегать:
Размонтируйте и загрузитесь. Вы должны иметь доступ к нему через SSH.
Если вы изо всех сил пытаетесь найти его в своей сети ...
Три варианта для вас:
ifconfig
(читерство!)Используйте
nmap
на другом компьютере, чтобы найти его. Вы должны знать, какой IP-адрес у него примерно (до / 24), поэтому сканирование очень просто:источник
ping -b 192.168.0
или эквивалент? Я не уверен, насколько это жизнеспособно, поскольку я только что проверил это на двух маршрутизаторах без успеха. Кажется, часто блокируется.arping
; он делает то, что навязывают отдельные команды ping и arp, но затем без переполнения сети ICMP-пакетами.arp -a
не делает это самостоятельно.Если вы используете дистрибутив Arch Linux , вы просто подключаете его и ждете, пока он не получит свой адрес от DHCP- сервера. Затем вы можете проверить состояние DHCP (например, подключившись к маршрутизатору) и получить IP-адрес из списка подключенных клиентов. Если это не помогло, вы можете использовать
nmap
или аналогичные инструменты для сканирования всей подсети на наличие открытого порта 22 (SSH включен по умолчанию).источник
После массовых атак ботнетов в 2016 году из-за того, что устройства IoT легко взламываются с помощью паролей по умолчанию, Raspbian снова поставляется с отключенным по умолчанию SSH ( источник ).
Исправить это довольно просто, вам просто нужно создать файл в
boot
разделе (а не в каталоге в корневой файловой системе) с именемssh
. Чтобы проверить, что вы находитесь в правильном разделе, у него должен быть файл с именемstart.elf
.Не забудьте сменить пароль после!
Чтобы найти свой Pi в своей сети, я использовал
sudo arp-scan -l
, хотяsudo nmap -sS --open -O 192.168.1.0/24
и допустимый, но более медленный вариант.источник
Используя бета-образ Debian 7 (Wheezy), SSH устанавливается и включается по умолчанию. Вам просто нужно подключиться к нему через его IP-адрес.
Есть несколько способов выяснить, какой IP-адрес у Raspberry Pi, без необходимости запуска
ifconfig
на нем напрямую, например:источник
Самый простой способ (если у вас есть только клавиатура)
По умолчанию SSH не включен в Debian Wheezy (Raspbian).Когда-то SSH определенно не был включен на моих изображениях Распбиана. По-видимому, теперь SSH включен по умолчанию. Но если это не так, и вы застряли, читайте дальше:Включение этого очень просто, намного проще, чем большинство ответов, которые я видел здесь, если у вас есть клавиатура USB:
Включить SSH с:
Введите пароль "raspberry" еще раз на всякий случай, так как это
sudo
команда, и нажмите Enter.Теперь вы сможете удаленно подключаться к вашему RPi по его IP-адресу в вашей сети.
Как отметил Денис Митропольский , утилита конфигурирования упрощает настройку SSH:
Просто зайдите в опцию "ssh". К счастью, это работает в сеансе SSH, поэтому единственная команда, которую вам нужно запустить вслепую, это первая из приведенных выше.
источник
Не могу сказать, работает ли SSH из коробки, но последняя версия утилиты конфигурации имеет команду «Включить SSH». После этого я смог подключиться к Raspberry через сеть. Но для его включения вам все равно нужен монитор.
источник
Одно предостережение: с Arch Linux это работало для меня, только если я подключил Ethernet перед загрузкой Raspberry Pi (и тогда он работал нормально: sshd был включен по умолчанию). Если я сначала загружаюсь, затем подключаю кабель Ethernet, Raspberry Pi никогда не связывается с DHCP-сервером, чтобы получить IP-адрес.
источник
Нет маршрутизатора + нет экрана + обычный кабель Ethernet + RPI 2 + Raspbian Lite 2018-11-13 + хост Ubuntu 18.10
Сначала мы должны включить SSH-сервер на Pi, который по умолчанию отключен для безопасности.
Если у вас уже есть оболочка для Pi через не-SSH метод, такой как screen + клавиатура или UART (см. Ниже), просто запустите:
как объяснено в: SSH не работает с новой установкой Это сохраняется при загрузке.
В противном случае, вставьте SD-карту на свой хост и создайте волшебный пустой файл с именем
ssh
file вboot/
разделе.На хостах Ubuntu он монтируется автоматически, и вы можете сделать просто:
что вы можете подтвердить с помощью:
который содержит:
Если вы не включите демон SSHD на Pi, то соединение SSH не будет выполнено с:
когда мы попробуем это позже.
После включения сервера SSH
Затем загрузите Pi и подключите кабель Ethernet от вашего ноутбука напрямую к Pi:
В Ubuntu 17.04, чтобы обойти эту ошибку, как указано в этом ответе, вам сначала нужно:
На хосте откройте диспетчер сети:
И идти:
+
подписать (добавить новое соединение)Найти IP Пи на хосте:
выводит что-то вроде:
10.42.0.160
это IP, то как обычно:У меня также есть следующее в моем
.bashrc
:Заметьте, что внутри Pi он может нормально выходить в Интернет через другие интерфейсы вашего хоста:
Например, на моем ноутбуке Pi использует Ethernet, но хост также подключен к Интернету через WiFi.
Пересекающийся кабель не требуется, если сетевая карта хоста поддерживает Auto MDI-X . Это относится к самому последнему аппаратному обеспечению, включая, например, Lenovo T430 2012 года, на котором я тестировал, который имеет «Intel® 82579LM Gigabit Network Connection», который документирует поддержку Auto MDI-X .
Теперь вы также можете:
UART последовательный USB-конвертер
Это альтернатива SSH, если вы просто хотите получить оболочку для Pi: https://en.wikipedia.org/wiki/Serial_port
При этом используется не SSH или сама сеть, а более старый, более простой, более прямой, более надежный, с более низкой пропускной способностью и с меньшим расстоянием последовательного интерфейса. Пи не будет иметь доступа к Интернету с этим методом.
Настольные компьютеры по-прежнему имеют последовательный порт, который можно подключать напрямую к сети с Pi, но они скрыты в большинстве ноутбуков, поэтому нам нужно купить дешевый USB-адаптер. Здесь я использовал: https://www.amazon.co.uk/gp/product/B072K3Z3TL См. Также: https://unix.stackexchange.com/questions/307390/what-is-the-difference-between- ttys0-ttyUSB0-и-ttyama0-в-Linux / 367882 # 367882
Сначала подключите SD-карту к хосту и отредактируйте
config.txt
файл, представленный в первом разделе, добавив:как объяснено по адресу: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195
Этот первый раздел содержит загрузчик, его файлы конфигурации и ядро (Linux / your),
config.txt
являющееся одним из них. Второй раздел содержит актуальную корневую файловую систему Linux.Теперь подключите ваш компьютер к Pi как:
Вам нужно только подключить 3 кабеля:
Это также задокументировано по адресу: https://www.raspberrypi.org/documentation/usage/gpio/README.md.
Будьте осторожны, чтобы не связать землю с 5 В, я уже записал 2 UART на USB-чипы!
Вам не нужно подключать 5V к 5V вообще. Я думаю, что вы можете так питать свой Pi, но я читал, что это плохая идея, просто используйте обычный источник питания USB.
Наконец, подключите разъем USB к вашему хост-компьютеру и получите оболочку с:
Выход с
Ctrl-A \
.Вот видео от Adafruit, показывающее его: https://www.youtube.com/watch?v=zUBPeoLW16Q
источник
Если вы используете Debian, то это очень просто, если вы можете одолжить у друга экран и сеть для вашего RPi всего на несколько минут. Если нет, вы можете просто проверить команды для 'nmap' и 'ssh' с вашего хоста Ubuntu.
Просто убедитесь, что пакет openssh-server установлен, и все готово. Вы делаете это из командной строки с
aptitude install openssh-server
. Вы также можете проверить или переименовать RPi, когда вы вошли в машину. Вы также можете проверить, что пакетavahi-utils
иavahi-daemon
установлены, просто попробуйтеaptitude install avahi-utils
.Пакет / программа avahi будет реализовывать протокол Apples protocoll mDNS / DNS-SD, который будет объявлять себя другим компьютерам, которые используют этот протокол в качестве компьютера в домене DNS
local
. Поэтому, если ваша машина называетсяrpi-machine
, попробуйте подключиться к ней с помощьюrpi-machine.local
.Вы можете проверить в файле,
/etc/nsswitch.conf
чтобы увидеть, есть ли у вас эта строка:И ваш Apple, и Ubuntu должны это реализовать. Ваш компьютер с MS Windows 7 этого не делает. На машине с Ubuntu вы можете попробовать эту команду:
или же
Затем вы должны получить список всех ваших машин и их сервисов, таких как SSH и HTTP.
Вы также можете попробовать установить пакет
nmap
на вашем компьютере с Ubuntu. Затем вы можете проверить, в какой сети вы находитесь, с помощью команды,ip route list
чтобы увидеть, в какой сети вы находитесь. Например, на моей машине я мог получить что-то вроде этого (это с example.com, поэтому не используйте его):говорит мне, что я в сети
192.0.43.0/24
и маршрутизатор192.0.43.1
. Поэтому, если вы запустите команду,nmap 192.0.43.0/24
то попытаетесь найти все машины в вашей сети и сказать, какие порты открыты. Ищите порт22/tcp
, так как это серверы ssh.источник
Мне удалось настроить Raspberry PI без экрана или клавиатуры, выполнив следующие действия:
Загрузите последний образ debian-pi / raspbian-ua-netinst . Текущий один
raspbian-ua-netinst-v1.0.7.img.bz2
. Загруженный файл составляет всего около 17 МБ.Загрузите « Apple Pi Baker App » и используйте это программное обеспечение для переноса изображения на SD-карту.
Вставьте SD-карту в ваш PI, и примерно через 15 минут будет установлена последняя версия Raspbian.
С помощью приложения Fing для iPhone я обнаружил IP-адрес PI, который есть в моем случае
192.168.1.13
.Теперь я могу SSH к этому IP так:
И вуаля у меня есть доступ через SSH без утомительной настройки.
К вашему сведению:
raspbian-ua-netinst
предлагает более продвинутую конфигурацию, поэтому ознакомьтесь с файлом Readme, если вы хотите изменить некоторые из этих начальных настроек.источник
Один из лучших способов подключения после начальной настройки - это запустить avahi-daemon на Raspberry Pi.
После того как вы установили avahi-daemon на Raspberry Pi и Bonjour на хост-компьютере, вы можете просто войти в систему, используя raspberrypi.local в качестве имени хоста. Таким образом, нет необходимости настраивать IP-адрес , статический или динамический.
Чтобы установить avahi-daemon на Raspberry Pi:
А если у вас установлен iTunes на хост-компьютере, просто введите raspberrypi.local в PuTTY , иначе установите Bonjour отсюда . Проверьте этот учебник для получения дополнительной информации.
источник
Возможно, вы захотите
raspbian-ua-netinst
попробовать: вы можете найти его, нажав здесь. Это минимальный автоматический установщик Raspbian для моделей Raspberry Pi 1B, 1B + и 2B. Нет экрана или клавиатуры не требуется. У них есть отличная инструкция по установке вREADME.md
.По сути, вы просто FAT-формат SD-карты. Разархивируйте последнюю стабильную версию и вставьте SD-карту в Raspberry Pi. Минимальная установка Raspbian занимает от 20 до 30 минут, и все готово. Поставляется с SSH, установленным по умолчанию. Есть несколько опций, которые позволяют вам устанавливать дополнительные пакеты и прочее во время первоначальной установки. Вы также можете добавить пакеты позже, очевидно.
источник
Для Распбиана я нашел этот урок очень полезным. После выполнения описанных в нем шагов я смог подключиться по SSH с моего ноутбука с Windows 10 к Raspberry PI с помощью имени пользователя
pi
и пароляraspberry
.Более конкретно, вот соответствующая часть:
источник
Так как у меня был какой-то другой Пис, к которому я мог подключиться, я обманул.
Я взял карту Micro SD из Pi, которая не позволяла мне подключиться, и вставил ее в USB-ридер на одном из рабочих Pis.
Затем я подключил его к тестовой папке (
sudo mount /dev/sda2 /mnt/test
),chroot /mnt/test
чтобы затем обработать его как новую оболочку.Затем я включил SSH с
systemctl enable ssh
. Вынул карту после размонтирования, загрузил Pi, затем порт SSH был открыт и доступен.Работает на Debian, я уверен, что и на других
systemd
системах стилей.источник