SSH не работает с новой установкой

48

Недавно я освободил старую модель B с чердака, поместил NOOBS на SD-карту и установил на нее последнюю версию Raspbian. Я загрузил его, попытался SSH к нему со своего Mac, но получил:

ssh: connect to host 192.168.1.248 port 22: Connection refused

Вначале я справился с этим, запустив sudo ssh restart, но теперь каждый раз, когда я снова загружаюсь, мне приходится перезапускать службу ssh, прежде чем я смогу снова войти в ssh, что, очевидно, не практично. Что-нибудь, что я могу сделать, чтобы исправить это навсегда?

Pezholio
источник
3
Возможный дубликат Подготовка к SSH без экрана
Raphael

Ответы:

84

Цитирование документации :

Начиная с выпуска ноября 2016 года, Raspbian отключил SSH-сервер по умолчанию. Вам придется включить его вручную.

Чтобы включить SSH на машинах через консоль:

Войдите sudo raspi-configв терминал, сначала выберите Interfacing Options, затем перейдите к ssh, нажмите Enterи выберите Enable or disable ssh server.

Чтобы включить SSH для безголовых машин:

Для автономной настройки SSH можно включить, поместив файл с именем sshбез расширения в загрузочный раздел SD-карты.

techraf
источник
6
Я пробовал установку без головы на Raspbian Stretch Desktop с 2018-03-14, и она больше не работает, работала с предыдущими версиями.
JBaczuk
Та же самая проблема здесь с созданием sshфайла при загрузке без заголовка, кажется, не работает, даже когда сообщение отображается при загрузке
Sander Visser
@JBaczuk Я испытываю то же самое. Вы уже исправили это?
Аарон
@JBaczuk Теперь он находится в разделе «Параметры интерфейса» (источник: raspberrypi.org/forums/viewtopic.php?t=177883 )
Аарон,
@ Аарон, хорошо, но как ты делаешь это с установкой без головы?
Дж. Бачук
11

Недавно было выпущено обновление безопасности для Raspberry Pi. Вот статья из https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/

Из статьи фонда:

Что изменилось?

Во-первых, отныне SSH будет отключен по умолчанию на наших изображениях. SSH (Secure SHell) - это сетевой протокол, который позволяет удаленно входить в компьютер Linux и управлять им из удаленной командной строки. Как упоминалось выше, многие владельцы Pi используют его для установки Pi без головы (без экрана или клавиатуры) и управления им с другого компьютера.

В прошлом SSH был включен по умолчанию, поэтому люди, использующие наушники без Pi, могли легко обновить свою SD-карту до нового образа. Включение или выключение SSH всегда требовало использования raspi-config или приложения Raspberry Pi Configuration, но для доступа к ним вам необходим экран и клавиатура, подключенные к самому Pi, чего нет в приложениях без наушников. Итак, мы предоставили простой механизм включения SSH перед загрузкой образа.

Загрузочный раздел на Pi должен быть доступен с любого компьютера с устройством для чтения карт SD, в Windows, Mac или Linux. Если вы хотите включить SSH, все, что вам нужно сделать, это поместить файл с именем ssh в каталог / boot /. Содержимое файла не имеет значения: оно может содержать любой текст, который вам нравится, или вообще ничего. Когда Pi загружается, он ищет этот файл; если он находит его, он включает SSH, а затем удаляет файл. SSH все еще может быть включен или выключен из приложения Raspberry Pi Configuration или raspi-config; это просто дополнительный способ включить его, если вы не можете легко запустить ни одно из этих приложений.

Риск с открытым портом SSH состоит в том, что кто-то может получить к нему доступ и войти в систему; для этого им нужны учетная запись пользователя и пароль. Из всех установок Raspbian по умолчанию установлена ​​учетная запись пользователя «pi» с паролем «raspberry». Если вы включаете SSH, вам действительно следует сменить пароль для пользователя 'pi', чтобы предотвратить использование по умолчанию хакером. Чтобы поощрить это, мы добавили предупреждения в процесс загрузки. Если SSH включен, а пароль для пользователя 'pi' по-прежнему 'raspberry', вы увидите предупреждение при каждой загрузке Pi, будь то на рабочий стол или в командную строку. Мы не применяем принудительное изменение пароля, но при загрузке вы будете предупреждены о том, что ваш Pi потенциально находится под угрозой.

Мы надеемся, что эти (относительно незначительные) изменения не вызовут слишком много неудобств, но они сделают хакерам намного труднее атаковать Пи.

В основном это означает, что в последнее время было много взломов устройств, использующих удаленное соединение, такое как SSH. Из-за этого SSH по умолчанию отключен. Чтобы это исправить, все, что вам нужно сделать, это создать файл с именем ssh в /boot/каталоге. Этот файл с именем ssh может содержать любой текст или ничего, если хотите. Затем, используя sudo raspi-config commandтерминал, вы можете снова включить ssh.

Кроме того, он рекомендует вам изменить свой пароль, если это было что-то простое, например пароль, на что-то более сложное для взлома с помощью passwdкоманды.

Король воздушный шар
источник
2
«в последнее время было много взломов устройств» -> Наверное, многие слышали об этом . Хотя Pis, вероятно, не были вовлечены, они могли бы с тех пор запускать SSH по умолчанию с открытым доступом к очень привилегированной учетной записи с помощью пароля с «заводскими настройками» - это именно то, что использовалось.
Златовласка
1
Атаки вряд ли "недавние". Я уже три года вижу попытки проникновения в мои журналы.
Марк
Возможно не много, но был некоторый взлом Малинового Писа!
король Balloonion
2

systemctl решение

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

sudo systemctl enable ssh
sudo service sshd start

вместо того, чтобы делать это в интерактивном режиме sudo raspi-config.

/boot/ssh волшебный файл

Если у вас еще нет оболочки на Pi, вставьте 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

Протестировано на Raspbian Lite 2018-11-13, полная настройка теста описана далее по адресу: SSH к RPi без сетевого подключения?

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

Да, как сказал @tecraf, sshпо умолчанию отключено, но местоположение конфигурации изменилось. Чтобы включить SSH на вашем компьютере через консоль:

Введите sudo raspi-configв терминале перейдите к 5-Interfacing Options, затем перейдите к P2-ssh, нажмите Enter и используйте, tabчтобы включить или отключить ssh server. Затем sudo shutdown -r nowперезагрузить. (выключение боковой ноты -hтеперь не перезагружается)

Iliass
источник