Рейтинг:0

Подключение к Dropbear SSH с использованием ключевого файла невозможно (отказано в доступе (открытый ключ))

флаг ma

Я запускаю свой домашний сервер (Ubuntu 20.04 LTS) с зашифрованным корнем и пытаюсь использовать dropbear в initramfs, чтобы иметь возможность удаленно разблокировать его во время загрузки. Чтобы настроить возможность удаленной разблокировки, я в основном следовал этому руководству: Как установить зашифрованный LUKS сервер Ubuntu 18.04.x ​​и включить удаленную разблокировку

На моем MacBook я успешно создал пару ключей ssh:

(база) myuser@myMBP ~% ssh-keygen -t rsa -b 4096

После этого я добавляю вновь сгенерированный открытый ключ в /etc/dropbear-initramfs/authorized_keys:

myuser@myserver:~$ cat /etc/dropbear-initramfs/authorized_keys 
без переадресации портов, без переадресации агентов, без переадресации x11, command=/bin/cryptroot-unlock ssh-rsa <здесь идет мой ssh-pubkey> [email protected]

После этого бег myuser@myserver:~$ sudo update-initramfs -c -k все все прошло нормально.

Однако попытка входа на SSH-сервер Dropbear не работает:

(база) myuser@myMBP ~ % ssh -i ~/.ssh/id_rsa -o "HostKeyAlgorithms ssh-rsa" -p 9999 [email protected] -vvv
OpenSSH_8.6p1, LibreSSL 2.8.3
debug1: Чтение данных конфигурации /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config строка 21: включить /etc/ssh/ssh_config.d/* файлы не соответствуют
debug1: /etc/ssh/ssh_config строка 54: Применение параметров для *
debug2: resolve_canonicalize: имя хоста 192.168.xxx.xxx — это адрес
debug3: расширенный UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/myuser/.ssh/known_hosts'
debug3: расширенный UserKnownHostsFile '~/.ssh/known_hosts2' -> '/Users/myuser/.ssh/known_hosts2'
debug1: провайдер аутентификации $SSH_SK_PROVIDER не разрешен; отключение
debug3: ssh_connect_direct: вход
debug1: подключение к порту 9999 192.168.xxx.xxx [192.168.xxx.xxx].
debug3: set_sock_tos: установить сокет 3 IP_TOS 0x48
отладка1: соединение установлено.
debug1: файл идентификации /Users/myuser/.ssh/id_rsa типа 0
debug1: файл идентификации /Users/myuser/.ssh/id_rsa-cert type -1
debug1: строка локальной версии SSH-2.0-OpenSSH_8.6
debug1: удаленный протокол версии 2.0, версия удаленного программного обеспечения dropbear_2019.78
debug1: compat_banner: не соответствует: dropbear_2019.78
debug2: параметр fd 3 O_NONBLOCK
debug1: Аутентификация на 192.168.xxx.xxx:9999 как «root»
debug3: отправить пакет: введите 20
debug1: SSH2_MSG_KEXINIT отправлен
debug3: получить пакет: введите 20
debug1: SSH2_MSG_KEXINIT получен
debug2: предложение KEXINIT локального клиента
debug2: Алгоритмы KEX: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16 -sha512, диффи-хеллман-группа18-ша512, диффи-хеллман-группа14-ша256, доб-информация-с
debug2: алгоритмы ключа хоста: ssh-rsa
debug2: шифры ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: шифры сток: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: главные администраторы MAC: [email protected],[email protected],[email protected],[email protected],hmac [email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: Сток MAC: [email protected],[email protected],[email protected],[email protected],hmac [email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: сжатие Технический директор: нет, [email protected], zlib
debug2: сжатие stoc: нет, [email protected], zlib
debug2: языки 
debug2: языки сток: 
отладка2: first_kex_follows 0 
отладка2: зарезервировано 0 
debug2: одноранговый сервер, предложение KEXINIT
debug2: Алгоритмы KEX: curve25519-sha256,[email protected],ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1 ,[email protected]
debug2: алгоритмы ключа хоста: ecdsa-sha2-nistp256, ssh-rsa, ssh-dss
debug2: шифры ctos: aes128-ctr, aes256-ctr, aes128-cbc, aes256-cbc, 3des-ctr, 3des-cbc
debug2: шифры сток: aes128-ctr, aes256-ctr, aes128-cbc, aes256-cbc, 3des-ctr, 3des-cbc
debug2: главные администраторы MAC: hmac-sha1-96,hmac-sha1,hmac-sha2-256
debug2: запас MAC-адресов: hmac-sha1-96,hmac-sha1,hmac-sha2-256
debug2: технический директор по сжатию: [email protected], нет
debug2: архив сжатия: [email protected], нет
debug2: языки 
debug2: языки сток: 
отладка2: first_kex_follows 0 
отладка2: зарезервировано 0 
debug1: kex: алгоритм: curve25519-sha256
debug1: kex: алгоритм ключа хоста: ssh-rsa
debug1: kex: server->client шифр: aes128-ctr MAC: hmac-sha2-256 сжатие: нет
debug1: kex: клиент-> сервер шифр: aes128-ctr MAC: hmac-sha2-256 сжатие: нет
debug3: отправить пакет: введите 30
debug1: ожидается SSH2_MSG_KEX_ECDH_REPLY
debug3: получить пакет: введите 31
debug1: SSH2_MSG_KEX_ECDH_REPLY получен
debug1: ключ хоста сервера: ssh-rsa SHA256:vdFXJflh1ltg2QQ6A8S5qnjtPBtKR3h6l548DAh6Hwk
отладка3: put_host_port: [192.168.xxx.xxx]:9999
отладка3: put_host_port: [192.168.xxx.xxx]:9999
debug3: record_hostkey: найден тип ключа RSA в файле /Users/myuser/.ssh/known_hosts:4
debug3: load_hostkeys_file: загружен 1 ключ из [192.168.xxx.xxx]:9999
debug1: load_hostkeys: fopen /Users/myuser/.ssh/known_hosts2: нет такого файла или каталога
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: нет такого файла или каталога
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: нет такого файла или каталога
debug1: Хост «[192.168.xxx.xxx]:9999» известен и соответствует ключу хоста RSA.
debug1: найден ключ в /Users/myuser/.ssh/known_hosts:4
debug3: отправить пакет: тип 21
debug2: set_newkeys: режим 1
debug1: сменить ключ после 4294967296 блоков
debug1: SSH2_MSG_NEWKEYS отправлено
debug1: ожидается SSH2_MSG_NEWKEYS
debug3: получить пакет: тип 21
debug1: SSH2_MSG_NEWKEYS получен
debug2: set_newkeys: режим 0
debug1: повторный ввод после 4294967296 блоков
debug1: попытается использовать ключ: /Users/myuser/.ssh/id_rsa RSA SHA256: XizaS2UPC7m5C37NwgUVI8uPvLBzLINvRSBnpKGkzPE, явный
debug2: pubkey_prepare: готово
debug3: отправить пакет: тип 5
debug3: получить пакет: тип 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT получен
debug3: отправить пакет: введите 50
debug3: получить пакет: введите 51
debug1: Аутентификации, которые могут продолжаться: publickey
debug3: начать заново, передать другой список открытых ключей
debug3: предпочтительный открытый ключ, интерактивная клавиатура, пароль
debug3: открытый ключ authmethod_lookup
debug3: остается предпочтительным: интерактивная клавиатура, пароль
debug3: открытый ключ authmethod_is_enabled
debug1: следующий метод аутентификации: открытый ключ
debug1: Предлагая открытый ключ: /Users/myuser/.ssh/id_rsa RSA SHA256: XizaS2UPC7m5C37NwgUVI8uPvLBzLINvRSBnpKGkzPE, явный
debug3: отправить пакет: введите 50
debug2: мы отправили пакет с открытым ключом, ждем ответа
debug3: получить пакет: введите 51
debug1: Аутентификации, которые могут продолжаться: publickey
debug2: мы не отправляли пакет, отключить метод
debug1: больше нет способов проверки подлинности.
[email protected]: Отказано в доступе (открытый ключ).

Почему, пытаясь решить проблему, я наткнулся на следующую ошибку Ubuntu: Хук Dropbear initramfs создает файл author_keys в недопустимой папке но применение предложенного обходного пути не помогло в моем случае...

У вас есть какие-нибудь идеи, что может пойти не так?

Заранее спасибо, Дрема

Рейтинг:0
флаг ma

Что ж, чуть не сойдя с ума, потому что я не мог понять, почему Dropbear не принимает мой ключ, я пересмотрел все в сотый раз и, наконец, заметил недостающие дефисы в файле author_keys:

без переадресации портов, без переадресации агентов, без переадресации x11, command="/bin/cryptroot-unlock" ssh-rsa <здесь идет мой ssh-pubkey> [email protected]

Теперь работает без нареканий :-)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.