Настройка SSH-ключей (подключение без пароля)
Создание SSH-ключей позволяет установить безопасное и удобное подключение между вашим компьютером и Робоголовой без ввода пароля при каждом сеансе. SSH-ключи представляют собой пару файлов:
Приватный ключ (
id_ed25519
илиid_rsa
) хранится на вашем компьютере.Публичный ключ (
id_ed25519.pub
илиid_rsa.pub
) копируется на Робоголову в текстовый файл~/.ssh/authorized_keys
.
При подключении SSH проверяет соответствие пары ключей и, если они совпадают, авторизует вас автоматически.
1. Зачем нужны SSH-ключи
Безопасность: подобрать ключ намного сложнее, чем угадать пароль.
Удобство: не нужно вводить пароль при каждом подключении.
Автоматизация: упрощает запуск скриптов, CI/CD и другие автоматизированные процессы.
2. Настройка SSH-ключей в Ubuntu 20.04+
Генерация пары ключей
ssh-keygen -t ed25519 -C "pi@robohead" -f ~/.ssh/robohead_id_ed25519
При запросе Enter passphrase можно задать пароль для защиты ключа или оставить пустым для мгновенного подключения.
Копирование публичного ключа на Робоголову
ssh-copy-id -i ~/.ssh/robohead_id_ed25519.pub pi@roboheadXXX.local
(Дополнительно) Добавление ключа в ssh-agent (если вы используете passphrase):
eval "$(ssh-agent -s)" ssh-add ~/.ssh/robohead_id_ed25519
3. Настройка SSH-ключей в Windows (PowerShell)
Генерация ключа
ssh-keygen -t rsa -b 4096 -C "pi@roboheadXXX"
Прим.: можно использовать
ed25519
, если он поддерживается вашей версией OpenSSH в Windows.Копирование публичного ключа на Робоголову
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh pi@roboheadXXX.local "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh"
(Если ключ с passphrase) Добавление в агент OpenSSH
Start-Service ssh-agent ssh-add $env:USERPROFILE\.ssh\id_rsa
4. Проверка подключения
Выполните команду:
ssh pi@roboheadXXX.local
Если вы попадаете в консоль без запроса пароля и видите приглашение pi@roboheadXXX:~$
, значит, настройка прошла успешно.
5. Устранение неполадок
Permission denied (publickey)
Ключ не скопирован, неправильные права
Проверьте ~/.ssh/authorized_keys
и выставьте права: chmod 700 ~/.ssh
, chmod 600 ~/.ssh/authorized_keys
.
SSH продолжает запрашивать пароль
Неверный хост, имя или путь к ключу
Убедитесь, что используете roboheadXXX.local
и корректный ключ.
Часто запрашивается passphrase
Ключ защищён паролем
Добавьте ключ в ssh-agent
или используйте Pageant (в Windows).
6. Рекомендации по безопасности
Никогда не передавайте приватный ключ третьим лицам.
При возможности используйте passphrase для дополнительной защиты ключа.
Периодически меняйте ключи, удаляя устаревшие из
authorized_keys
.Убедитесь, что доступ к файлам
.ssh
ограничен только пользователю.
Last updated