Подготовка к SSH без экрана

155

У меня дома Raspberry Pi модель B, но у меня нет экрана. Мой план состоит в том, чтобы подключить его к Ethernet, а затем подключить к нему ssh. Но это означает, что SD-карта с операционной системой (Debian Squeeze) должна быть подготовлена ​​в первую очередь. Я вижу два пути:

  1. Подготовьте SD с ОС так, чтобы RPi всегда подключался к Ethernet по фиксированному IP-адресу и включал SSH-сервер.

  2. Подготовьте SD с ОС так, чтобы RPi подключался к сети, включал SSH-сервер и затем передавал его IP-адрес, чтобы я мог подключиться к нему по ssh.

Какой из этих способов проще? И как мне это сделать? Есть ли другие способы?

У меня есть следующие инструменты: Ubuntu 10.4, MacOS 10.5, Windows 7, но только в Ubuntu есть кардридер. К сожалению, я не могу получить доступ к таблице DHCP моего маршрутизатора, она полностью закрыта.

До б
источник
5
Полезно - RasPi не загружается естественным образом (по крайней мере, Debian) с включенным SSH. Вам нужно изменить файл в / boot / с SSH в названии для загрузки. Я знаю, что это не отвечает на ваш вопрос, но это может стать следующим камнем преткновения :)
Джордж Пирс,
1
Я не чувствую, что это заслуживает ответа, но вы можете попробовать инструмент сканирования портов.
ian.shaun.thomas
10
@iampearce: в бета-версии debian wheezy ssh теперь включен по умолчанию.
Джон Эгертон
5
В текущем wheezy SSH включен по умолчанию. Если в вашей сети есть сервер DHCP, он будет работать «из коробки».
Часовой
1
Я думаю, уже есть все ответы, которые вам нужны. Я просто хотел добавить свой способ поиска Pis в моей сети. У меня обычно больше одного и даже больше машин с открытым портом 22. nmap -sP 192.168.0.0/24 | grep Pi -B 2
cee

Ответы:

70

Чтобы включить ssh при запуске, сделайте резервную копию boot.rcзагрузочного раздела на образе SD и замените его наboot_enable_ssh.rc

Я не знаю о вашем маршрутизаторе, но вы можете настроить его так, чтобы зарезервировать фиксированный IP-адрес для MAC-адреса вашего Pi.

finnw
источник
3
Ssh уже установлен на образ Debian Squeeze, предоставленный фондом?
до
1
@ TillB, он установлен в прилагаемом образе, но его нужно запустить вручную.
finnw
1
ок, какой загрузочный раздел? У меня есть один, который содержит файловую систему, один раздел подкачки и один, который содержит файл start.elf и другие. Также есть boot_enable_ssh.rc, но нет boot.rc. Я переименовал его в boot.rc и загрузился. Я нахожу RPi в сети (по крайней мере, я предполагаю, что это Pi), но ssh закрыт.
до
1
Вы уверены, что это так? Мой работает, переименовав в boot.rc, как это можно найти в raspberrypi.stackexchange.com/questions/606/…
Дэвид Сайкс
5
Я загрузил образ 2012-09-18-wheezy-raspbian.img на новый безголовый Raspberry Pi, он автоматически запустил sshd и настроил себя с помощью DHCP.
Нос
52
  1. Скопировать boot_enable_ssh.rcв boot.rcиз /bootв малине Пи rootfs(SD - карте)

  2. Все еще в Raspberry Pi rootfs, отредактируйте /etc/network/interfaces, чтобы назначить фиксированный IP-адрес (так что сервер DHCP не требуется). Например,

    auto lo eth0
    iface lo inet loopback
    iface eth0 inet static
        address 192.168.0.202
        netmask 255.255.255.0
        gateway 192.168.0.200
    
  3. Загрузите Raspberry Pi, используйте кабель Ethernet, чтобы подключить его к той же сети, к которой подключен ваш компьютер (или подключите его напрямую к компьютеру), и войдите в систему через SSH:

    ssh pi@192.168.0.202
    
  4. Установите легкий сервер VNC в Raspberry Pi:

    sudo apt-get install tightvncserver
    
  5. Затем запустите VNC-сервер (вам будет предложено установить пароль):

    vncserver :1 -name RasPi -depth 16 -geometry 1024x768
    
  6. Установите VNC-клиент на свой ПК:

    apt-get install xtightvncviewer
    
  7. Затем подключитесь к Raspberry Pi через VNC с вашего ПК:

    xtightvncviewer 192.168.0.202:1
    

Это просто работает здесь таким образом :)

Тиаго Б. Ваз
источник
2
FWIW: OP спросил о ssh, а не о X или VNC.
Брэд
я использовал конфигурацию raspberrypi_defconfig под BUILDROOT для монтирования ОС на пи ... В папке загрузки нет файла boot.rc !!! Что я могу сделать ?
Зверь
36

Ничего boot_enable_ssh.rcподобного не существует в текущих сборках Raspian. Вы загружаетесь, хорошее графическое меню дает вам некоторые опции (в том числе, должен ли SSHD загружаться при загрузке), а затем выводит вас в командную строку.

Это здорово, если ... вы графический пользователь.

Если нет, то вы остаетесь в положении, в котором вам нужно каким-то образом бежать наружу update-rc.d. Все, что на самом деле делает, это создает символическую ссылку на /etc/init.d/...скрипт в различных точках /etc/rc{0..6}.d/...файловой системы. Смущенный? Не берите в голову - наносить ущерб просто.

  1. Я предполагаю, что вы делаете это с компьютера Linux. По крайней мере, что-то с использованием Bash, или что-то совместимое. То, что я предлагаю, не будет работать из Windows без Cygwin (или другого). Смонтируйте SD-карту и cdв нее.

  2. Бегать:

    for i in 2 3 4 5; do sudo ln -s /etc/init.d/ssh etc/rc$i.d/S02ssh; done
    
  3. Размонтируйте и загрузитесь. Вы должны иметь доступ к нему через SSH.

Если вы изо всех сил пытаетесь найти его в своей сети ...

Три варианта для вас:

  • Используйте администратора вашего роутера, чтобы найти его. Netgear особенно хорош при показе «Подключенные устройства».
  • Подключите монитор и запустите ifconfig(читерство!)
  • Используйте nmapна другом компьютере, чтобы найти его. Вы должны знать, какой IP-адрес у него примерно (до / 24), поэтому сканирование очень просто:

    sudo nmap -sV --open 192.168.0.0/24  -p22
    
Oli
источник
1
Не используйте для этого nmap, вы можете пропинговать широковещательный адрес и проверить таблицу ARP.
Тамара Вийсман
@ TomWijsman Вы имеете в виду бег ping -b 192.168.0или эквивалент? Я не уверен, насколько это жизнеспособно, поскольку я только что проверил это на двух маршрутизаторах без успеха. Кажется, часто блокируется.
Оли
1
@ Oli: Нет, это ваше ядро, которое не собирает все ответы ARP, считается бесполезной проверкой каждого входящего пакета, чтобы убедиться, что его MAC уже находится в кэше ARP, поэтому это не всегда работает в Linux, если только Я знал, как настроить это; но это, например, прекрасно работает на Windows и Mac OS X ...
Тамара Вийсман
@Oli: жизнеспособная альтернатива, если ваша система не может сделать это arping; он делает то, что навязывают отдельные команды ping и arp, но затем без переполнения сети ICMP-пакетами.
Тамара Вийсман
2
@nornagon: arp -aне делает это самостоятельно.
Тамара Вийсман
21

Если вы используете дистрибутив Arch Linux , вы просто подключаете его и ждете, пока он не получит свой адрес от DHCP- сервера. Затем вы можете проверить состояние DHCP (например, подключившись к маршрутизатору) и получить IP-адрес из списка подключенных клиентов. Если это не помогло, вы можете использовать nmapили аналогичные инструменты для сканирования всей подсети на наличие открытого порта 22 (SSH включен по умолчанию).

Питер Мортенсен
источник
о, забыл добавить: я не могу получить доступ к своему маршрутизатору (он предоставлен моей компанией и полностью закрыт). Вы говорите, что на Arch ssh всегда включен? Как насчет Debian?
до
Я думаю, что только Arch поставляется с предварительно включенным SSHd.
5
В Debian по умолчанию SSH не включен.
Стив Робиллард
4
До сих пор в каждом дистрибутиве, который я установил на свой Pi, по умолчанию был включен SSH. Не сказать, что это всегда так, но это было для меня.
DaveJohnston
14

После массовых атак ботнетов в 2016 году из-за того, что устройства IoT легко взламываются с помощью паролей по умолчанию, Raspbian снова поставляется с отключенным по умолчанию SSH ( источник ).

Исправить это довольно просто, вам просто нужно создать файл в boot разделе (а не в каталоге в корневой файловой системе) с именем ssh. Чтобы проверить, что вы находитесь в правильном разделе, у него должен быть файл с именем start.elf.

Не забудьте сменить пароль после!

Чтобы найти свой Pi в своей сети, я использовал sudo arp-scan -l, хотя sudo nmap -sS --open -O 192.168.1.0/24и допустимый, но более медленный вариант.

Рафаэль
источник
В вашей публикации упоминалось, что для создания файлов называются «start.elf», а в исходном URL, упомянутом для создания имен файлов «SSH», см .: «Если вы хотите включить SSH, все, что вам нужно сделать, это поместить файл с именем ssh в каталог / boot /. ' Можете ли вы просмотреть сообщение?
BastianW
К сожалению, я был немного поспешным при написании ответа, спасибо для идентификации этой точки путаницы
Raphael
13

Используя бета-образ Debian 7 (Wheezy), SSH устанавливается и включается по умолчанию. Вам просто нужно подключиться к нему через его IP-адрес.

Есть несколько способов выяснить, какой IP-адрес у Raspberry Pi, без необходимости запуска ifconfigна нем напрямую, например:

  • На страницах конфигурации вашего маршрутизатора может отображаться IP-адрес подключенных компьютеров.
  • Большинство смартфонов имеют бесплатные сетевые сканеры Wi-Fi, которые показывают устройства, подключенные к сети.
Джон Эгертон
источник
По умолчанию он не включен в образе MY Debian Wheezy ... :(
Мэтт
@Matt: Ты уверен? - стандартный, который я скачал далеко назад, когда он был включен.
Джон Эгертон
Я так думаю. Я просто попробовал это снова этим утром (с последним изображением). Может быть, я что-то пропустил, но сейчас я помню, как делал это пару раз.
Мэтт
Не похоже , чтобы не применять в 2017 году
Raphael
11

Самый простой способ (если у вас есть только клавиатура)

По умолчанию SSH не включен в Debian Wheezy (Raspbian). Когда-то SSH определенно не был включен на моих изображениях Распбиана. По-видимому, теперь SSH включен по умолчанию. Но если это не так, и вы застряли, читайте дальше:

Включение этого очень просто, намного проще, чем большинство ответов, которые я видел здесь, если у вас есть клавиатура USB:

  1. Подключите клавиатуру и загрузите RPi. Обратите внимание, что раскладка клавиатуры по умолчанию будет стандартной раскладкой QWERTY US , поэтому обратите внимание на ваши буквы «Y» и «Z», а также «-» и «/».
  2. Подождите минуту, затем введите «пи», нажмите Enter, затем «Малина» и нажмите Enter.
  3. Включить SSH с:

    sudo /etc/init.d/ssh start
    
  4. Введите пароль "raspberry" еще раз на всякий случай, так как это sudoкоманда, и нажмите Enter.

Теперь вы сможете удаленно подключаться к вашему RPi по его IP-адресу в вашей сети.

Как отметил Денис Митропольский , утилита конфигурирования упрощает настройку SSH:

sudo raspi-config

Просто зайдите в опцию "ssh". К счастью, это работает в сеансе SSH, поэтому единственная команда, которую вам нужно запустить вслепую, это первая из приведенных выше.

Matt
источник
1
Удивительный ответ, однако, похоже, что ssh может быть включен на более новых SD-картах, которые поставляются с Pi. Заказал мой на прошлой неделе и ssh просто отработал коробку!
Pufferfish
Они поставляются с SD-картами сейчас? Где вы заказали свой? Это хорошая новость. Я думал о переходе на модель B.
Мэтт
4
Просто комментарий к этому слепому решению: у меня нет «родной» английской клавиатуры (она словенская!), Поэтому без raspi-config или dpkg-переконфигурируйте конфигурацию клавиатуры моя USB-клавиатура отправляет «z» вместо «y», что влияет на слепой пароль входа в систему. Подобная проблема может сохраняться и на других неанглийских клавиатурах! Вы можете проверить английские символы по умолчанию в Windows при переключении настроек клавиатуры / языковой панели с «ваш язык» -> «EN» на панели задач.
TomiL
3
@TomiL: хорошая мысль. На немецких клавиатурах 'Z' и 'Y' также меняются местами.
Питер Мортенсен
1
Теперь это работает лучше всего, в последней версии Raspbian jessie по умолчанию включена ssh с именем пользователя / паролем pi / raspberry
redDevil
5

Не могу сказать, работает ли SSH из коробки, но последняя версия утилиты конфигурации имеет команду «Включить SSH». После этого я смог подключиться к Raspberry через сеть. Но для его включения вам все равно нужен монитор.

Денис Митропольский
источник
1
Это в основном самый простой способ. Вам даже не нужен монитор, чтобы включить его, если у вас есть клавиатура. Требуется только одна команда, которой вы можете управлять вслепую.
Мэтт
5

Одно предостережение: с Arch Linux это работало для меня, только если я подключил Ethernet перед загрузкой Raspberry Pi (и тогда он работал нормально: sshd был включен по умолчанию). Если я сначала загружаюсь, затем подключаю кабель Ethernet, Raspberry Pi никогда не связывается с DHCP-сервером, чтобы получить IP-адрес.

завивать волосы щипцами
источник
4

Нет маршрутизатора + нет экрана + обычный кабель Ethernet + RPI 2 + Raspbian Lite 2018-11-13 + хост Ubuntu 18.10

Сначала мы должны включить SSH-сервер на Pi, который по умолчанию отключен для безопасности.

Если у вас уже есть оболочка для Pi через не-SSH метод, такой как screen + клавиатура или UART (см. Ниже), просто запустите:

sudo systemctl enable ssh
sudo service sshd start

как объяснено в: SSH не работает с новой установкой Это сохраняется при загрузке.

В противном случае, вставьте SD-карту на свой хост и создайте волшебный пустой файл с именем sshfile в 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

И идти:

  1. + подписать (добавить новое соединение)
  2. Ethernet
  3. Создайте
  4. Настройки IPv4
  5. Метод: Общий для других компьютеров
  6. Установите хорошее имя для этого
  7. Сохранить

введите описание изображения здесь

Найти IP Пи на хосте:

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, но хост также подключен к Интернету через 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файл, представленный в первом разделе, добавив:

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 на USB к последовательному порту

Это также задокументировано по адресу: https://www.raspberrypi.org/documentation/usage/gpio/README.md.

Будьте осторожны, чтобы не связать землю с 5 В, я уже записал 2 UART на USB-чипы!

Вам не нужно подключать 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

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
источник
3

Если вы используете 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чтобы увидеть, есть ли у вас эта строка:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

И ваш Apple, и Ubuntu должны это реализовать. Ваш компьютер с MS Windows 7 этого не делает. На машине с Ubuntu вы можете попробовать эту команду:

avahi-browse --all

или же

avahi-browse _ssh._tcp

Затем вы должны получить список всех ваших машин и их сервисов, таких как SSH и HTTP.

Вы также можете попробовать установить пакет nmapна вашем компьютере с Ubuntu. Затем вы можете проверить, в какой сети вы находитесь, с помощью команды, ip route listчтобы увидеть, в какой сети вы находитесь. Например, на моей машине я мог получить что-то вроде этого (это с example.com, поэтому не используйте его):

192.0.43.0/24 dev eth0  proto kernel  scope link  src 192.0.43.1  metric 1

говорит мне, что я в сети 192.0.43.0/24и маршрутизатор 192.0.43.1. Поэтому, если вы запустите команду, nmap 192.0.43.0/24то попытаетесь найти все машины в вашей сети и сказать, какие порты открыты. Ищите порт 22/tcp, так как это серверы ssh.

Андерс
источник
3

Мне удалось настроить Raspberry PI без экрана или клавиатуры, выполнив следующие действия:

  1. Загрузите последний образ debian-pi / raspbian-ua-netinst . Текущий один raspbian-ua-netinst-v1.0.7.img.bz2. Загруженный файл составляет всего около 17 МБ.

  2. Загрузите « Apple Pi Baker App » и используйте это программное обеспечение для переноса изображения на SD-карту.

    ApplePiBaker

  3. Вставьте SD-карту в ваш PI, и примерно через 15 минут будет установлена ​​последняя версия Raspbian.

  4. С помощью приложения Fing для iPhone я обнаружил IP-адрес PI, который есть в моем случае 192.168.1.13.

    IP

  5. Теперь я могу SSH к этому IP так:

    # Password = raspbian
    ssh root@192.168.1.13 
    

И вуаля у меня есть доступ через SSH без утомительной настройки.

К вашему сведению: raspbian-ua-netinstпредлагает более продвинутую конфигурацию, поэтому ознакомьтесь с файлом Readme, если вы хотите изменить некоторые из этих начальных настроек.

SSH доступ

Besi
источник
2

Один из лучших способов подключения после начальной настройки - это запустить avahi-daemon на Raspberry Pi.

После того как вы установили avahi-daemon на Raspberry Pi и Bonjour на хост-компьютере, вы можете просто войти в систему, используя raspberrypi.local в качестве имени хоста. Таким образом, нет необходимости настраивать IP-адрес , статический или динамический.

Чтобы установить avahi-daemon на Raspberry Pi:

sudo apt-get update
sudo apt-get install libnss-mdns

А если у вас установлен iTunes на хост-компьютере, просто введите raspberrypi.local в PuTTY , иначе установите Bonjour отсюда . Проверьте этот учебник для получения дополнительной информации.

Каран
источник
2

Возможно, вы захотите raspbian-ua-netinstпопробовать: вы можете найти его, нажав здесь. Это минимальный автоматический установщик Raspbian для моделей Raspberry Pi 1B, 1B + и 2B. Нет экрана или клавиатуры не требуется. У них есть отличная инструкция по установке в README.md.

По сути, вы просто FAT-формат SD-карты. Разархивируйте последнюю стабильную версию и вставьте SD-карту в Raspberry Pi. Минимальная установка Raspbian занимает от 20 до 30 минут, и все готово. Поставляется с SSH, установленным по умолчанию. Есть несколько опций, которые позволяют вам устанавливать дополнительные пакеты и прочее во время первоначальной установки. Вы также можете добавить пакеты позже, очевидно.

Mausy5043
источник
2

Для Распбиана я нашел этот урок очень полезным. После выполнения описанных в нем шагов я смог подключиться по SSH с моего ноутбука с Windows 10 к Raspberry PI с помощью имени пользователя piи пароля raspberry.

Более конкретно, вот соответствующая часть:

  • Убедитесь, что Raspberry Pi выключен, и извлеките SD-карту.

  • Вставьте SD-карту в картридер и подключите ее к ноутбуку.

  • Найдите диск, и вы должны найти несколько файлов на карте (обратите внимание, что это намного меньше, чем вы ожидаете, так как это только загрузочный раздел карты (остальное скрыто)).

  • Сделайте копию cmdline.txt и переименуйте ее в cmdline.normal

  • Отредактируйте cmdline.txt и добавьте IP-адрес в конце (убедитесь, что вы не добавляете лишние строки).

Для сетевых настроек, когда IP-адрес получается автоматически, используйте адрес в диапазоне 169.254.XX (169.254.0.0 - 169.254.255.255):

ip=169.254.0.2

Для сетевых настроек, в которых IP-адрес является фиксированным, используйте адрес, который совпадает с адресом ноутбука / компьютера, кроме последней цифры.

ip=192.168.0.2

Обязательно запомните этот IP-адрес (он понадобится вам каждый раз, когда вы захотите напрямую подключиться к Raspberry Pi).

  • Создайте новую копию cmdline.txt и переименуйте ее в cmdline.direct.

  • Чтобы переключаться между конфигурациями, просто замените cmdline.txt на cmdline.normal или cmdline.direct (или используйте команды из Варианта 2, чтобы сделать это непосредственно на Raspberry Pi - изменения вступят в силу при следующем включении)

  • Верните карту Raspberry Pi. Подключите сетевой кабель, подключенный к компьютеру и Raspberry Pi, и включите питание.

Обратите внимание на следующее:

  • Вам нужно будет дождаться, пока ваш компьютер завершит определение сетевых настроек (вы можете увидеть маленький значок сети, мигающий в системном трее, пока он это делает, или открыть сетевые настройки, чтобы увидеть, когда он закончил и имеет IP-адрес) - это может занять около 1/2 минуты. Таким образом, ваш компьютер может сообщать о подключении как «ограниченном или без подключения» при подключении к Raspberry Pi, это нормально, поскольку это указывает на то, что это прямое подключение компьютера к компьютеру, а не стандартная сеть.

  • Если вы забыли или решили не подключать сетевой кабель, Raspberry Pi подождет 2 минуты (или пока вы не подключите кабель), прежде чем завершить его запуск (поэтому, если у вас подключены только клавиатура и монитор, вам нужно подождать !).

  • Если вы используете на своем компьютере несколько проводных сетевых адаптеров (например, используете дополнительный USB-LAN-ключ), вы можете обнаружить, что вам необходимо отсоединить другой сетевой кабель и затем подключить его снова (мой компьютер с Windows XP нуждался в этом, прежде чем он подключился по прямой ссылке). ).

Михай Тодор
источник
2

Так как у меня был какой-то другой Пис, к которому я мог подключиться, я обманул.

Я взял карту Micro SD из Pi, которая не позволяла мне подключиться, и вставил ее в USB-ридер на одном из рабочих Pis.

Затем я подключил его к тестовой папке ( sudo mount /dev/sda2 /mnt/test), chroot /mnt/testчтобы затем обработать его как новую оболочку.

Затем я включил SSH с systemctl enable ssh. Вынул карту после размонтирования, загрузил Pi, затем порт SSH был открыт и доступен.

Работает на Debian, я уверен, что и на других systemdсистемах стилей.

Канадский Люк
источник