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, що, очевидно, не практично. Що я можу зробити, щоб виправити це назавжди?


Відповіді:


84

Цитування документації :

Станом на листопад 2016 року в Raspbian за замовчуванням відключений сервер SSH. Це потрібно буде ввімкнути вручну.

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

Увійдіть sudo raspi-configу термінал, спочатку виберіть Interfacing Options, потім перейдіть до ssh, натисніть Enterта виберіть Enable or disable ssh server.

Щоб увімкнути SSH для безголівкових машин:

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


6
Я спробував налаштування без голови на Raspbian Stretch Desktop з 2018-03-14 і, схоже, більше не працює, працював з попередніми версіями.
JBaczuk

Ось така ж проблема, коли безголове створення sshфайлу під завантаженням не працює, навіть коли повідомлення відображається під час завантаження
Sander Visser

@JBaczuk Я переживаю те саме. Ви це вже виправили?
Аарон

@JBaczuk Зараз він розміщений у розділі "Параметри взаємодії" (джерело: raspberrypi.org/forums/viewtopic.php?t=177883 )
Аарон

@Aaron, добре, але як це зробити з безголовою настройкою?
JBaczuk

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" з паролем "малиновий". Якщо ви вмикаєте SSH, вам слід дійсно змінити пароль для користувача "pi", щоб запобігти хакеру використовувати стандартні настройки. Щоб заохотити це, ми додали попередження до процесу завантаження. Якщо SSH увімкнено, а пароль для користувача "pi" все ще є "малиною", ви побачите попереджувальне повідомлення під час кожного завантаження Pi, будь то на робочий стіл чи командний рядок. Ми не вносимо змін до пароля, але вас буде попереджено під час кожного завантаження, якщо ваш Pi може загрожувати.

Ми сподіваємось, що ці (відносно незначні) зміни не заподіють занадто великих незручностей, але вони зроблять набагато важче для хакерів атакувати Pi.

Це в основному означає, що останнім часом було багато злому пристроїв, що використовують віддалене з'єднання, як SSH. Через це SSH за замовчуванням вимкнено. Щоб виправити це, все, що вам потрібно зробити, це створити файл, який називається ssh в /boot/каталозі. Цей файл під назвою ssh може містити будь-який текст або нічого, якщо ви хочете. Потім, використовуючи sudo raspi-config commandна терміналі, ви можете знову включити ssh.

Крім того, він рекомендує змінити свій пароль, якщо це було щось просте, як пароль, на щось складніше зламати за допомогою passwdкоманди.


2
"останнім часом було багато злому пристроїв" -> Напевно, про це чуло багато людей . Хоча Pis, швидше за все, не брав участі, вони, можливо, з тих пір працювали SSH за замовчуванням з відкритим доступом до дуже привілейованого облікового запису через "заводський заздалегідь встановлений" пароль - саме таку річ, яку використовували.
золотинки

1
Напади навряд чи "останні". Я бачив спроби взлому в своїх журналах вже близько трьох років.
Марк

Можливо, не дуже багато, але трапилося зламати Raspberry Pis!
Король Повітряна куля

2

systemctl рішення

Якщо у вас вже є оболонка на Pi за допомогою не-SSH методу, такого як екран + клавіатура або UART (див. Цю публікацію ), ви також можете просто запустити:

sudo systemctl enable ssh
sudo service sshd start

замість того, щоб це робити інтерактивно sudo raspi-config.

/boot/ssh чарівний файл

Якщо ви не маєте оболонки на Pi ще, вставте його SD - карти на хості, і створити чарівний порожній файл з ім'ям sshфайл в 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 без підключення до мережі?


0

Так, як сказав @tecraf ssh, вимкнено за замовчуванням, але розташування конфігурації змінилося. Щоб увімкнути SSH на вашій машині через консоль:

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.