Как включить и безопасно использовать SSH на Raspberry Pi

Краткие ссылки
- Что такое SSH?
- Перед включением SSH: меры безопасности
- Как узнать IP-адрес или имя хоста Raspberry Pi
- Вариант 1: включение SSH через рабочий стол
- Вариант 2: включение SSH через терминал
- Отключение входа root по SSH
- Подключение к Raspberry Pi с другого компьютера
- Дополнительные рекомендации по безопасности и отладке
- Чек-листы, критерии приёмки и шпаргалка команд
Что такое SSH?
SSH (Secure Shell) — протокол для зашифрованного удалённого входа и выполнения команд на другом устройстве. Одно предложение: SSH защищает передачу логинов и паролей от перехвата в сети.
Польза: шифрование предотвращает перехват учётных данных и данных сессии, в отличие от старых протоколов, передающих всё в открытом виде.
Понятие в одно предложение: ключ — это пара приватного и публичного файлов, которые заменяют пароль для входа.
Перед включением SSH: меры безопасности
Важно: включение SSH открывает сервис, который можно атаковать. Прежде чем включать SSH, выполните минимальные меры безопасности:
- Установите надёжный пароль для пользователя pi или другого учётного записа.
- Обновите систему: sudo apt update && sudo apt upgrade -y.
- Запишите IP-адрес или имя хоста Pi (см. ниже).
- Планируйте переход на аутентификацию по ключам (рекомендуется для постоянного доступа).
Если вы ещё не меняли пароль, выполните в терминале:
passwdВас попросят ввести текущий пароль, затем новый.
Как узнать IP-адрес или имя хоста Raspberry Pi
Откройте терминал на самой плате и выполните:
hostname -iКоманда выведет IP-адрес(а). Если Raspberry Pi подключён и по Wi‑Fi, и по Ethernet, будет несколько адресов. Чаще всего локальный адрес начинается с 192.168. или 10.. Запомните нужный адрес для удалённого подключения.
Совет: можно также узнать имя хоста командой:
hostnameи подключаться по DNS-имени вида hostname.local в локальной сети с поддержкой mDNS.
Вариант 1: включение SSH через рабочий стол
Этот способ удобен, если у вас есть подключённый монитор и полноценный GUI. На рабочем столе Raspberry Pi:
- Нажмите меню Raspberry (в левом верхнем углу).
- Выберите “Preferences” → “Raspberry Pi Configuration”.
- Перейдите на вкладку “Interfaces”.
- В строке SSH выберите “Enable” и нажмите “OK”.

Вариант 2: включение SSH через терминал
Если вы предпочитаете командную строку или у вас нет GUI, используйте raspi-config:
sudo raspi-configВ появившемся текстовом меню используйте стрелки и выберите “Interfacing Options” → “P2 SSH”. Подтвердите включение, когда будет предложено.

Выберите “P2 SSH” и подтвердите включение.

После включения SSH raspi-config обычно выводит подтверждение — выберите “Finish”.
Отключение входа root по SSH
По умолчанию вход под root через SSH может быть запрещён или ограничен. Для дополнительной защиты явно запретите root-вход.
Откройте конфигурационный файл SSHd:
sudo nano /etc/ssh/sshd_configНайдите строку наподобие:
#PermitRootLogin prohibit-passwordили
#PermitRootLogin yesИзмените/раскомментируйте её так:
PermitRootLogin noСохраните (Ctrl+X → Y → Enter). Перезапустите SSH-сервис:
sudo systemctl restart sshили старым способом:
sudo /etc/init.d/ssh restartВажно: после отключения root вы всё ещё сможете выполнять привилегированные команды через sudo от обычного пользователя.
Настройка аутентификации по ключам (рекомендуется)
Аутентификация по ключам гораздо безопаснее паролей. Краткий порядок действий:
- На вашей рабочей машине (не на Pi) сгенерируйте ключ:
ssh-keygen -t ed25519 -C "pi@home"При желании укажите passphrase для приватного ключа.
- Скопируйте публичный ключ на Raspberry Pi (замените [адрес] на IP или имя хоста):
ssh-copy-id -i ~/.ssh/id_ed25519.pub pi@[адрес]Если ssh-copy-id недоступен, можно вручную добавить содержимое id_*.pub в файл ~/.ssh/authorized_keys на Pi.
- Проверьте вход по ключу:
ssh -i ~/.ssh/id_ed25519 pi@[адрес]- После успешной проверки можно отключить вход по паролям (опционально, но безопаснее):
В /etc/ssh/sshd_config установите:
PasswordAuthentication no
ChallengeResponseAuthentication noПерезапустите сервис ssh.
Примечание: убедитесь, что у вас есть работающий ключ и доступ в случае проблем — иначе вы заблокируете себя.
Отключение стандартного пользователя и смена имени пользователя
Если вы используете стандартного пользователя pi, рассмотрите смену его имени или создание новой учётной записи с меньшими правами и переносом sudo. Это снижает риск атак, ориентированных на пользователя pi.
Пример создания нового пользователя и добавления в sudo:
sudo adduser newuser
sudo usermod -aG sudo newuserЗатем перенесите нужные файлы и настройки и удалите или деактивируйте пользователя pi.
Подключение к Raspberry Pi с другого компьютера
С локальной машины (Linux, macOS, WSL) используйте:
ssh pi@[адрес]Пример:
ssh pi@192.168.0.200При первом подключении SSH спросит, доверяете ли вы ключу хоста — введите yes или y. Затем введите пароль или используйте ключ.
Если вы подключаетесь с Windows, используйте встроенный OpenSSH (PowerShell) или клиент PuTTY.
Дополнительные меры безопасности
Рассмотрите эти шаги для повышения стойкости SSH-сервера:
- Измените стандартный порт с 22 на нестандартный (в sshd_config: Port 2222). Это не повышает криптостойкость, но снижает шум автоматических сканеров.
- Ограничьте вход по IP в файрволе (ufw):
sudo ufw allow from 192.168.0.0/24 to any port 22- Установите fail2ban для автоматической блокировки повторных неудачных попыток входа.
- Включите двухфакторную аутентификацию (например, с помощью Google Authenticator PAM), если требуется высокая безопасность.
- Регулярно обновляйте систему и пакеты безопасности.
Туннелирование, пересылка портов и SFTP
SSH — не только интерактивный терминал. Вы можете:
- Пробрасывать локальные или удалённые порты (ssh -L / -R).
- Монтировать удалённую файловую систему через sshfs.
- Переносить файлы через scp, sftp или rsync по ssh.
Пример копирования файла на Pi:
scp localfile.txt pi@[адрес]:~/Отладка проблем с подключением
Если не удаётся подключиться:
- Проверьте, что SSH-сервис запущен: systemctl status ssh
- Убедитесь в правильности IP-адреса: hostname -i
- Проверьте локальный файрволл (ufw status).
- Посмотрите логи на Pi для ошибок: sudo journalctl -u ssh -e
- Если вы изменяли порт — укажите его при подключении: ssh -p 2222 pi@[адрес]
Чек-листы по ролям
Администратор:
- Сменить пароль по умолчанию.
- Настроить ключи и отключить PasswordAuthentication.
- Включить fail2ban и правила ufw.
- Регулярно проверять логи и обновления.
Новичок / домашний пользователь:
- Включить SSH через Raspberry Pi Configuration или raspi-config.
- Сменить пароль.
- Подключаться по ключу после изучения ssh-keygen.
Power user / разработчик:
- Настроить agent forwarding, ssh config (~/.ssh/config) для удобства.
- Использовать sshfs и rsync для бекапов.
Критерии приёмки
- SSH-сервис активен и принимает подключение: sudo systemctl status ssh → active.
- Удалённое подключение работает с корректным пользователем и/или ключом.
- Root-вход по SSH отключён (PermitRootLogin no).
- При отключении пароля вход по ключу сохраняется и проверен.
- Файрволл разрешает доступ только с необходимых адресов/сегментов сети.
Тестовые случаи и приёмка
- TC1: Подключение по паролю с корректными учётными: PASS/FAIL.
- TC2: Подключение по ключу: PASS/FAIL.
- TC3: Попытка входа под root должна быть отклонена: PASS/FAIL.
- TC4: Проверка перезапуска ssh и сохранения конфигурации: PASS/FAIL.
Шпаргалка команд
- Включить raspi-config:
sudo raspi-config- Узнать IP:
hostname -i- Перезапустить SSH:
sudo systemctl restart ssh- Проверить статус SSH:
sudo systemctl status ssh- Сгенерировать ключ:
ssh-keygen -t ed25519- Копировать ключ на удалённый хост:
ssh-copy-id pi@[адрес]Короткое объявление для команды (100–200 слов)
Начиная с сегодняшнего дня вы можете использовать SSH для безопасного удалённого доступа к Raspberry Pi. Включите SSH через Raspberry Pi Configuration или raspi-config, смените стандартный пароль и настройте аутентификацию по ключам для долговременного доступа. Обязательно отключите вход под root и рассмотрите настройки fail2ban и ufw для защиты от брутфорс‑атак. Следуйте чек-листам в этом руководстве перед открытием доступа из внешней сети.
1‑строчный глоссарий
SSH: защищённый протокол удалённого входа; SSH‑ключ: пара приватного и публичного файлов для аутентификации без пароля; raspi-config: текстовый инструмент настройки Raspberry Pi.
Итог
SSH даёт удобный и зашифрованный доступ к вашему Raspberry Pi. Включить его можно через GUI или raspi-config. Обязательны смена пароля и базовая жёсткая конфигурация: отключение root, переход на ключи и настройка файрвола. Перед открытием доступа извне выполните тестовые сценарии и создайте резервные способы доступа.
Важно: перед отключением паролей убедитесь, что ключи работают, иначе вы можете потерять доступ.
Примечание: если вы планируете доступ из интернета, подумайте о VPN или других безопасных каналах доступа вместо прямого проброса порта SSH.
Похожие материалы
Загрузка и удаление контактов в Facebook
Как сделать ссылку на другой лист в Excel
Как найти серийный номер устройства
Резервирование Downloads, Music и Videos в OneDrive
Конвертация MOV в MP4 на iPhone