Назад | Перейти на главную страницу

Невозможно использовать ssh для запуска dropbear sshd. «Попытка неверного пароля»… Но пароль правильный

По какой-то причине запущенный dropbear sshd в контейнере Docker сообщает мне Bad password attempt , хотя я несколько раз дважды проверял, что и имя пользователя, и пароль верны на 100%.

Dropbear запускает supervisord с помощью следующей команды:

/ usr / local / sbin / dropbear -F -E -p 2222

пользователем и группой mysticbbs. При запуске dropbear ошибок не возникает ..

Однако, когда я пытаюсь использовать ssh в контейнере с хост-компьютера, с помощью:

ssh -o UserKnownHostsFile = / dev / null локальный хост -l mysticbbs -p 2222

('-o UserKnownHostsFile = / dev / null', чтобы предотвратить хранение большого количества разных ключей, сгенерированных во время тестирования / сборки файла докеров)

..ssh, как и ожидалось, дает мне:

Отпечаток ключа ECDSA - SHA256: 0WadKddpa * [.. blabla.] * Вы уверены, что хотите продолжить соединение (да / нет)?

Затем меня спрашивают пароль. Но независимо от того, ввожу ли я его или вставляю, на 100% правильно .. Я все равно получаю Permission denied, please try again. и dropbear регистрирует попытку с помощью Bad password attempt for 'mysticbbs' from 172.17.0.1:35152 ..

>

Если сервер запущен как некорневой, вы, скорее всего, не сможете выделить pty, и вы не сможете войти в систему под другим пользователем, кроме того, который запускает демон (очевидно). Теневые пароли также нельзя будет использовать без полномочий root.

Ключи генерируются во время сборки докера со следующим:

   export RSA_KEYFILE=/etc/dropbear/dropbear_rsa_host_key
   export DSS_KEYFILE=/etc/dropbear/dropbear_dss_host_key
   export ECDSA_KEYFILE=/etc/dropbear/dropbear_ecdsa_host_key
   dropbearkey -t dss -f $DSS_KEYFILE
   dropbearkey -t rsa -f $RSA_KEYFILE
   dropbearkey -t ecdsa -f $ECDSA_KEYFILE
   chown -R mysticbbs:mysticbbs /etc/dropbear
   chmod -R 700 /etc/dropbear

пароль для пользователя mysticbbs устанавливается во время сборки докера с помощью:

   passwd mysticbbs -d '<password>' -u

Что мне не хватает? ..

На что указывает @ Майкл-Хэмптон в комментарии, и примечание на https://github.com/mkj/dropbear:

Если сервер запущен как некорневой, вы, скорее всего, не сможете выделить pty, и вы не сможете войти в систему под другим пользователем, кроме того, который запускает демон (очевидно). Теневые пароли также нельзя будет использовать без полномочий root..

Мои проблемы действительно возникают в теневые пароли при запуске dropbear от имени пользователя без полномочий root.

В мой конкретный случай, под альпийский: 3.9 / BusyBox, мне кажется более правильным решением и обходным путем добавить корень к моему 'mysticbbs'и при необходимости удалите привилегии root, а не /etc/shadow доступен для пользователя, кроме корень (например, добавив «mysticbbs» или специального пользователя системы в «теневую» группу (?). Я даже не собираюсь это тестировать. Хотя я предполагаю, что это также может быть потенциальным обходным путем.).

РЕДАКТИРОВАТЬ: добавление пользователя, под которым выполняется dropbear, в shadow группа просто кажется проще .. и в конце концов /etc/shadow все еще chmod 640 (доступно для записи корень только пользователь, хотя читается тень группа)

ls -la /etc/shadow 

-rw-r ----- 1 корневая тень 503 6 февраля 16:33 / etc / shadow

(Примечание: вероятно, не рекомендуется там, где высокий уровень безопасности является главным приоритетом)