Перейти к основному содержимому
Версия: Bbrain 2.0

Настройка 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+

  1. Генерация пары ключей

    ssh-keygen -t ed25519 -C "pi@robohead" -f ~/.ssh/robohead_id_ed25519
    • При запросе Enter passphrase можно задать пароль для защиты ключа или оставить пустым для мгновенного подключения.
  2. Копирование публичного ключа на Робоголову

    ssh-copy-id -i ~/.ssh/robohead_id_ed25519.pub pi@roboheadXXX.local
  3. (Дополнительно) Добавление ключа в ssh-agent (если вы используете passphrase):

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/robohead_id_ed25519

3. Настройка SSH-ключей в Windows (PowerShell)

  1. Генерация ключа

    ssh-keygen -t rsa -b 4096 -C "pi@roboheadXXX"

    Прим.: можно использовать ed25519, если он поддерживается вашей версией OpenSSH в Windows.

  2. Копирование публичного ключа на Робоголову

    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"
  3. (Если ключ с 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 ограничен только пользователю.