Добавить ключи аутентификации в dropbear ssh?

Вопрос или проблема

Для ssh я обычно добавляю ключи в /etc/ssh/keys-root/authorized_keys, чтобы можно было входить без ввода пароля. Недавно я обнаружил несколько систем, которые используют dropbear ssh вместо ssh/openssh. Существует ли эквивалент authorized_keys для dropbear? Есть ли способ добавить авторизованные ключи для dropbear?

Оказывается, Dropbear совместим с аутентификацией с использованием публичных ключей ~/.ssh/authorized_keys согласно этой документации. (И всей документацией/установками, которые я видел после быстрого поиска в Google)

Довольно старый вопрос, но на случай, если у кого-то такая же проблема.

Вам просто нужно поместить файл authorized_keys в папку /etc/dropbear (в моем случае на Ugoos AM3 с Entware это было /opt/etc/dropbear).

Не забудьте сделать chmod 0600 /etc/dropbear/authorized_keys.

Ссылка: https://oldwiki.archive.openwrt.org/doc/howto/dropbear.public-key.auth

Спасибо за ответы от @DimGun и @colealtdelete

Недавно я столкнулся с этой ‘возможностью’ на своем устаревшем планшете Samsung. К сожалению, мое проверенное ssh-приложение для Android не поддерживает более старое оборудование/релизы.

Я нашел приложение simpleSSHD, это очень достойная замена для настроек, чтобы можно было использовать только authorized_keys для входа. simpleSSHD основан на проекте DropBear.

Это создает небольшую проблему bootstrap. Пользовательские заметки иногда предполагали несколько вещей:

Простой способ (с моего PC с Linux) состоял в том, чтобы вставить новую запись в файл authorized_keys на планшете в домашней директории simpleSSHD. Это можно сделать, войдя в первый раз с одноразовым паролем.

На ПК …

 # добавлен планшет в файл PC ~/.ssh/config
 cat id_rsa.pub | xclip -selection clipboard

Вставляет запись публичного ключа в буфер обмена. Или вы можете просто выделить и скопировать.

Затем зайдите через ssh на планшет:

 $ ssh [email protected] -p2222  
 The authenticity of host '[192.168.xx.zz]:2222 ([192.168.xx.zz]:2222)' can't be established.
 ECDSA key fingerprint is SHA256:oqsN8RKo9T990vjWiQEGooRBDUyId7yJG28eqGTAsa4.
 Are you sure you want to continue connecting (yes/no)? yes
 Warning: Permanently added '[192.168.xx.zz]:2222' (ECDSA) to the list of known hosts.
 [email protected]'s password: 
 user@android:/data/data/org.galexander.sshd/files $ ls -l
 -rw------- u0_a142  u0_a142      1499 2019-03-13 09:05 dropbear.err
 -rw------- u0_a142  u0_a142         5 2019-03-13 08:52 dropbear.pid
 -rw------- u0_a142  u0_a142       243 2018-09-21 12:41 dropbear_ecdsa_host_key
 $ cat > authorized_keys                                                               
 ecdsa-sha2-nistp256 
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX= linuxpc@hostname
 [Ctrl/D]
 $ chmod 0600 authorized_keys

Теперь служба simpleSSHD на планшете готова к безопасному входу. Испытайте это с помощью filezilla и ssh без пароля и т.д.

Все это работало очень хорошо. Кроме того, в наши дни я могу использовать файловый обозреватель без необходимости в FTP-клиенте по пути:

 sftp://[email protected]:2222//storage/extSdCard/Movies

Немного в 1000 раз быстрее, чем старые MTP-ссылки. Рекомендуется установить права на родительскую директорию: 0700 для эквивалента / родителя пути: ~/.ssh.

Я использую это на MacOS для подключения к устройствам Android с использованием SSH-2.0-dropbear_2019.78

scp -P 2222 /Users/<USER_NAME>/.ssh/id_rsa.pub user@<IP_ADDRESS_FROM_DROPBEAR_APP>:/data/data/org.galexander.sshd/files/authorized_keys

Я использую SimpleSSHD на моем android устройстве. Как только я открываю приложение и активирую SSH сервер, я выполняю следующее:

  1. копирую текстовое содержимое ~/.ssh/id_rsa.pub с клиентской машины.
  2. вхожу на сервер dropbear,
  3. Перенаправляю содержимое буфера обмена в файл authorized_keys в домашней директории, используя команду echo и вставляю содержимое после echo (в кавычках).

Это будет выглядеть так: echo "<вставьте содержимое из буфера обмена сюда>" >> authorized_keys. Документация находится на SimpleSSHD.

Примечание: SimpleSSHD больше недоступен в Google Play магазине, но он все еще может быть установлен с использованием APK и т.д.

Все зависит от устройства, конфигурации, когда dropbear был скомпилирован, и настроек при запуске ssh сервера. Обычно следующее сработает, если у вас есть root доступ и ssh сервер запущен на порту 22.

ssh root@dropbeardevice "tee -a /etc/dropbear/authorized_keys" < ~/.ssh/id_rsa.pub

Возможно, попробуйте:

ssh user@dropbeardevice "tee -a ~/.ssh/authorized_keys" < ~/.ssh/id_rsa.pub

.

Ответ или решение

Добавление аутентификационных ключей в Dropbear SSH является важной задачей для ИТ-специалистов, стремящихся обеспечить простой и безопасный доступ к удалённым системам без необходимости ввода пароля. Dropbear — это легковесный SSH-сервер, который часто используется на устройствах с ограниченными ресурсами, таких как маршрутизаторы, встраиваемые системы и устройства на базе Android. В отличие от OpenSSH, Dropbear требует иной подход к размещению публичных ключей.

Теория: В OpenSSH публичные ключи обычно хранятся в файле ~/.ssh/authorized_keys, который находится в домашнем каталоге пользователя. Этот файл разрешает пользователю подключаться по SSH без пароля, при условии, что на клиентском устройстве есть соответствующий приватный ключ. В случае Dropbear также существует поддержка хранения ключей в ~/.ssh/authorized_keys, но зачастую требуется более специфическая конфигурация, основанная на платформе.

Пример: Рассмотрим, как осуществляется настройка на популярных платформах.

  1. Linux-системы с Dropbear:
    На Linux-системах, использующих Dropbear, обычно требуется поместить файл authorized_keys в каталог /etc/dropbear или /opt/etc/dropbear, что зависит от дистрибутива и его конфигурации. После этого следует обеспечить корректные разрешения для файла:

    chmod 0600 /etc/dropbear/authorized_keys

    Такой подход гарантирует, что только системный администратор или владелец сможет изменять файл, предотвращая несанкционированный доступ.

  2. Android-устройства с SimpleSSHD:
    SimpleSSHD — это приложение для Android, основанное на Dropbear, которое предоставляет возможности SSH. Для Android-устройств файл authorized_keys часто располагается в каталоге, специфичном для приложения:

    /data/data/org.galexander.sshd/files/authorized_keys

    Для добавления ключа можно использовать команду echo или scp для копирования вашего публичного ключа:

    echo "<ваш публичный ключ>" >> /data/data/org.galexander.sshd/files/authorized_keys
    chmod 0600 /data/data/org.galexander.sshd/files/authorized_keys

Применение: Для успешного применения этой информации необходимо учитывать несколько факторов:

  1. Права доступа: Обратите внимание на правильные права доступа как для файла authorized_keys, так и для директории, в которой он размещён. Это важно для предотвращения несанкционированного изменения ключей или их удаления.

  2. Совместимость и версии: Убедитесь, что ваша версия Dropbear поддерживает использование определённых каталогов для хранения ключей. В случае сомнений обратитесь к официальной документации или проверьте настройки компиляции Dropbear.

  3. Автоматизация и безопасность: Внедрение системы с автоматическим развертыванием включает скрипты, которые автоматически будут добавлять ключи и настраивать разрешения. Это ключ к эффективной масштабируемости и безопасности.

  4. Тестирование доступа: После настройки убедитесь в работоспособности, протестировав возможность входа в систему по SSH, используя ваш приватный ключ. Это поможет выявить ошибки настройки и подтвердит правильность конфигурации.

В данном контексте важно подходить к процессу с учётом специфики вашей системы, потребностей в безопасности и стандартов вашей компании. Настройка Dropbear для работы с аутентификационными ключами обеспечивает удобство и увеличивает уровень защиты ваших систем от несанкционированного доступа.

Оцените материал
Добавить комментарий

Капча загружается...