Настройка SSH ключей на Raspberry Pi
Использование SSH ключей для аутентификации на Raspberry Pi обеспечивает более высокий уровень безопасности по сравнению с паролями. SSH ключи практически невозможно подобрать brute-force атаками, что делает вашу систему значительно защищеннее. В этом руководстве мы рассмотрим процесс создания и настройки SSH ключей для безопасного доступа к Raspberry Pi с различных клиентов, включая Windows с PuTTY.
Настройка SSH ключей на Raspberry Pi
Описание/Введение: Использование SSH ключей для аутентификации на Raspberry Pi обеспечивает более высокий уровень безопасности по сравнению с паролями. SSH ключи практически невозможно подобрать brute-force атаками, что делает вашу систему значительно защищеннее. В этом руководстве мы рассмотрим процесс создания и настройки SSH ключей для безопасного доступа к Raspberry Pi с различных клиентов, включая Windows с PuTTY.
Генерация SSH ключа на клиентской машине
Для Linux/macOS:
- Откройте терминал и выполните:
1
ssh-keygen -t ed25519 -C "your_email@example.com"
-
Укажите путь для сохранения ключа (по умолчанию ~/.ssh/id_ed25519)
- Установите надежную парольную фразу для ключа
Для Windows с PuTTY:
-
Скачайте и запустите PuTTYgen
-
Выберите тип ключа “EdDSA” или “RSA” (рекомендуется EdDSA)
-
Нажмите “Generate” и двигайте мышкой для создания энтропии
-
Сохраните приватный ключ в формате .ppk
-
Скопируйте публичный ключ из поля “Public key for pasting into OpenSSH authorized_keys file”
Копирование публичного ключа на Raspberry Pi
Для Linux/macOS:
- Используйте команду ssh-copy-id:
1
ssh-copy-id pi@raspberrypi.local
- Введите пароль пользователя pi
Для Windows с PuTTY:
- Войдите на Raspberry Pi используя пароль:
1
ssh pi@raspberrypi.local
- Создайте директорию .ssh (если не существует):
1
mkdir -p ~/.ssh
- Откройте файл authorized_keys:
1
nano ~/.ssh/authorized_keys
-
Вставьте скопированный из PuTTYgen публичный ключ
- Сохраните файл и выйдите
Настройка прав доступа к файлам ключей
Критически важная настройка прав доступа для безопасности.
- На Raspberry Pi установите правильные права:
1 2
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
- Убедитесь, что владелец файлов правильный:
1
chown -R pi:pi ~/.ssh
Подключение с использованием SSH ключа
Для Linux/macOS:
- Подключитесь к Raspberry Pi:
1
ssh pi@raspberrypi.local
- Если установлена парольная фраза, введите ее
Для Windows с PuTTY:
-
Запустите PuTTY
- В разделе “Session” введите адрес Raspberry Pi:
1
raspberrypi.local
-
В разделе Connection → SSH → Auth → Credentials нажмите “Browse” и выберите ваш .ppk файл
-
Вернитесь в раздел “Session”, сохраните настройки для будущего использования
- Нажмите “Open” для подключения
Использование Pageant для управления ключами в Windows
Упрощение работы с ключами через PuTTY Agent.
-
Запустите Pageant (идет в комплекте с PuTTY)
-
Добавьте приватный ключ в агент, нажав “Add Key”
-
Введите парольную фразу если требуется
-
Теперь PuTTY будет автоматически использовать ключи из Pageant
Отключение аутентификации по паролю
Повышение безопасности путем отключения парольной аутентификации.
- На Raspberry Pi отредактируйте файл конфигурации SSH:
1
sudo nano /etc/ssh/sshd_config - Найдите и измените следующие параметры:
1 2 3
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
- Перезапустите SSH службу:
1
sudo systemctl restart ssh
Преобразование ключей между форматами
Конвертация ключей между OpenSSH и PuTTY форматами.
- Из OpenSSH в PuTTY:
- Откройте PuTTYgen
- Нажмите “Load” и выберите приватный ключ OpenSSH
- Сохраните как .ppk файл
- Из PuTTY в OpenSSH:
- Откройте .ppk файл в PuTTYgen
- Скопируйте публичный ключ из поля “Public key for pasting into OpenSSH authorized_keys file”
Настройка конфигурации SSH клиента
Для Linux/macOS:
- Создайте или отредактируйте файл конфигурации:
1
nano ~/.ssh/config
- Добавьте настройки для Raspberry Pi:
1 2 3 4 5
Host raspberrypi HostName raspberrypi.local User pi Port 22 IdentityFile ~/.ssh/id_ed25519
Для Windows с PuTTY:
- В PuTTY сохраните сессию с настройками:
- Host Name: raspberrypi.local
- Порт: 22
- В SSH → Auth указан путь к .ppk файлу
- В Session введите имя сессии и нажмите “Save”
Создание резервной копии SSH ключей
Для Linux/macOS:
- Скопируйте приватный ключ в безопасное место:
1
cp ~/.ssh/id_ed25519 ~/backup_ssh_key
Для Windows:
- Сохраните .ppk файлы в защищенном месте
- Экспортируйте ключи из Pageant если необходимо
Устранение проблем с SSH ключами
Общие проблемы:
1
2
3
4
5
# Проверьте права доступа на сервере
ls -la ~/.ssh/authorized_keys
# Проверьте логи SSH
sudo tail -f /var/log/auth.log
Проблемы в PuTTY:
- Убедитесь, что выбран правильный .ppk файл
- Проверьте, что Pageant запущен если используется
- Убедитесь, что публичный ключ правильно скопирован на сервер
Проблема: Ключ не принимается
1
2
3
4
# Проверьте формат ключа
ssh-keygen -l -f ~/.ssh/id_ed25519
# Перекопируйте ключ на сервер
Мониторинг SSH подключений
Отслеживание успешных и неуспешных попыток входа.
- Просмотр последних подключений:
1
last
- Просмотр неудачных попыток входа:
1
sudo grep "Failed password" /var/log/auth.log
- Просмотр успешных SSH входов:
1
sudo grep "Accepted" /var/log/auth.log
Теперь ваш Raspberry Pi защищен с помощью SSH ключевой аутентификации, независимо от того, используете ли вы Linux, macOS или Windows с PuTTY. Этот метод значительно безопаснее паролей и обеспечивает надежную защиту от несанкционированного доступа к вашей системе.



