Я только что скачал и записал Raspbian Stretch headless image на карту micro SD. Я добавил конфигурацию DHCP, чтобы дать адаптеру Ethernet адрес 10.0.0.254 . Затем я дал адаптеру Ethernet настольного компьютера адрес 10.0.0.2 и подключил ПК к Raspberry Pi с помощью кабеля Ethernet.

Я проверил, что я могу пинговать Raspberry Pi на 10.0.0.254 поэтому я знаю, что я могу общаться с ним.

Затем я следовал инструкциям пункта №3 readme удаленного доступа , поместив один пустой файл с именем ssh в корень загрузочного раздела. Я смонтировал этот раздел в системе Linux и убедился, что он содержит все загрузочные файлы raspbian (например, cmdline.txt).

Когда я вставляю SD-карту обратно в pi и загружаюсь, файл ssh не удаляется, и я всегда получаю connection refused в соединении при попытке выполнить ssh в pi. Любая подсказка, что идет не так? Я использовал обезглавленное изображение и этот метод доступа, чтобы избежать использования отдельного монитора и клавиатуры, поэтому тот факт, что это не работает, является своего рода болью.

1 ответ1

0

Я смог заставить это работать, изменив файл sshswitch.service чтобы искать файл ssh в / вместо if /boot . Затем я создал файл ssh в корне раздела rootfs . Ниже приведен измененный sshswitch.service который находится по адресу /lib/systemd/system/sshswitch.service .

 [Unit]
 Description=Turn on SSH if /ssh is present
 ConditionPathExistsGlob=/ssh{,.txt}
 After=regenerate_ssh_host_keys.service

 [Service]
 Type=oneshot
 ExecStart=/bin/sh -c "update-rc.d ssh enable && invoke-rc.d ssh start && rm -f /ssh ; rm -f /ssh.txt"

 [Install]
 WantedBy=multi-user.target

Это то, что я сделал, чтобы обойти мои проблемы, это не "решение" проблемы, но это может помочь кому-то еще в той же ситуации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .