Подобный вопрос уже задавался ранее: Как настроить Raspberry Pi без монитора?
Однако, учитывая, что принятый ответ, по-видимому, не предлагает подходящего решения, и учитывая, что существует некоторая неопределенность в том, что спрашивалось, я предполагаю, что исходный вопрос был неправильно составлен, и что мой вопрос не ' Точная копия.
Я выполняю первоначальную первоначальную настройку Pi. У меня нет монитора или клавиатуры, но вместо этого я хочу использовать подключенный ноутбук для этой работы. Я не хочу покупать монитор или клавиатуру, чтобы они сидели без дела только в тех случаях, когда они нужны Пи. Я мог бы одолжить их, но я планирую покупать больше Пи в будущем, и не хочу брать их каждый раз.
Я установил статический IP-адрес на Pi, отредактировав cmdline.txt
файл. (Пи запускает последнюю версию Raspbian.)
ip=10.0.0.20
Я назначил eth
интерфейсу на моем ноутбуке соответствующий статический IP-адрес. (Ноутбук работает под управлением Ubuntu.)
ip ad add 10.0.0.10/24 dev eth0
Я соединил их вместе с помощью кабеля Ethernet и могу успешно пропинговать Pi с моего ноутбука.
Что я не могу сделать, так это ssh
с Пи. Я получаю ответ об отказе в соединении :
richard@richard-ThinkPad-X220:~$ ssh -vvv pi@10.0.0.20
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 10.0.0.20 [10.0.0.20] port 22.
debug1: connect to address 10.0.0.20 port 22: Connection refused
ssh: connect to host 10.0.0.20 port 22: Connection refused
Одна вещь, которую это подразумевало бы, - то, что sshd
еще не работает на Пи.
Официальные документы утверждают , что sshd
запускается по умолчанию, но это возможно , что во время начальной загрузки , что и другие вещи (например , подсказки , ожидающие ввода данных пользователем) может блокировать загрузку на определенном уровне, то есть мы не достигнем точки , в которой sshd
началось это ?
Куда мне идти отсюда? (Не "в магазины, чтобы купить монитор" ...)
Что я пытаюсь на самом деле возможно?
Редактировать:
Сейчас я попробовал методы, упомянутые в ответах на следующий пост, но безуспешно: Включение SSH на RPi без экрана - нажатия клавиш для raspi-config?
В частности, обеспечение того, что сценарий инициализации SSH запускается на уровне выполнения 2, по- прежнему не позволяло мне подключиться.
ssh pi@raspberrypi.local
вами. Кажется, вы не думаете,ssh
важно ли нам сказать, как вы на самом деле пытаетесь это сделать .ping pi@raspberrypi.local
. Но это не работает, потому чтоraspberrypi.local
это неизвестный хост. Разве ему не понадобится запись/etc/hosts
на моем ноутбуке, чтобы можно было ее решить?sudo nmap 10.0.0.20
на ноутбуке. Если он показывает, что порт 22 открыт, значит, SSH работает, иначе он не работает. Это не исправит это, но скажет вам, что происходит.Ответы:
На моем последнем изображении 2015-11-21-raspbian-jessie- lite .img это не так. Debian / Raspbian jessie в настоящее время использует systemd для инициализации, но в нее встроен своего рода гибридный обратно-SysV-совместимый механизм, и я замечаю, что на работающей системе, которую я создал из этого образа (используя экран и клавиатуру для начальной настройки), там, где теперь включен sshd, есть триггер как в systemd, так и в старых
rc.d
каталогах SysV . Предположительно, так работает механизм обратной совместимости (я включил ssh через systemd). В любом случае, работает только одинsshd
экземпляр с PPID 1.Для работающей системы есть запись
/etc/rc[2,3,4,5].d
дляS02ssh
(точный номер приоритета 02 устанавливается при включении услуги и может изменяться). Существует также/etc/systemd/system/multi-user.target.wants/ssh.service
.На базовом изображении, однако ...
... Здесь нет записи
/etc/systemd
и естьK01ssh
уровни запуска 2, 3, 4, 5. Это в значительной степени гарантирует, что sshd не запущен.Я предлагаю сначала попробовать установить только запись SysV. Из
etc
каталога второго раздела на SD-карте:Убедитесь, что ссылки есть и они указывают на нужное место с помощью
stat
. Я считаю, что этого должно быть достаточно, и теперь вы можете попробовать загрузить систему. Если это так, после того как вы удалите эти ссылки и запустите ихsystemctl enable ssh
, проверьте, что ссылки были воссозданы (помните, приоритет может быть другим).Если вы по-прежнему получаете сообщение «Отказано в соединении», создайте ссылку
[SD_rootfs]/lib/systemd/system/ssh.service
на[SD_rootfs]/etc/systemd/default.target.wants/ssh.service
и повторите попытку.источник
K01ssh
вrc2.d
каталоге и переименовал его, но не заметил других в другихrc
каталогах. К сожалению, удаление тех, кто использует ваш скрипт, не помогло. (Я проверил, что они были созданы, как вы предложили.) Для второго метода у меня нетssh.service
записи вetc/systemd/system/multi-user.target.wants/
каталоге, иlib/systemd/system/
каталог не доступен. Система даже не может сказать, что это каталог (и при запускеfile
выдает:ERROR: cannot open
lib / systemd / system '(Ошибка ввода / вывода) `).systemd
файлы, которые вы упомянули, присутствовали, поэтому попытался сделать второе предложение, которое сработало :) Не уверен, почему между изображениями все по-другому, но это мог быть мой взлом, который повлиял на что-то на первом изображении. (Понятия не имею, что ...) Большое спасибо за вашу помощь.lib/systemd/system/
каталог был недоступен. То же самое касается изображения Wheezy. Только изображение Lite позволило мне получить доступ к каталогу и, следовательно, выполнить инструкции.Для тех из вас, кто столкнулся с этим с более новыми образами Raspbian: есть
sshwitch
цель systemd, которая проверяет/boot/ssh
, и, если этот файл присутствует, она регенерирует ключи хоста SSH и включает сервер SSH.Итак, чтобы включить SSH, просто добавьте файл, называемый
ssh
в корне загрузочного раздела (FAT, сbootcode.bin
файлом), и загрузите свой Pi!Изменить: это сработало на моем изображении 2017-01-11-raspbian-jessie-lite.
источник
Извините за то, что это ответ, но не достаточно, чтобы просто комментировать.
Работает ли ssh? Если это возможно, и это один из установочных образов raspberry, попробуйте raspi-config просто для включения ssh.
Другой способ, проверьте, если ssh загружен и включен
Может быть, порт SSH 22 отклоняет соединение, потому что служба не готова
источник
systemctl --list-units | grep ssh
(или, что еще лучше, более информативныйsystemctl status ssh
). Но вы, по сути, правы: «Отказ в соединении» означает, что на порте ничего не прослушивается. Если ssh запущен, значит, IP неверен.https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/ Эта ссылка для операционной системы версии Rasbian PIXEL.
источник
/boot/ssh
исправления.В версии Jessie lite от 26 февраля 2016 года ssh включен по умолчанию.
источник