зашифровать закрытые ключи для dropbear ssh -доступ

Кажется, ваш вызов wget с --spiderне работает должным образом. Он также должен вернуть HTTP 200, используя запрос HEAD. См. ответ Дарнира .

if I don't use --spider I assume wget will try to download the index.html somewhere right?

Вы можете установить выходной документ с помощью опции -O, если вам нужно конкретное имя файла, например.

wget --quiet --tries=1 -O/tmp/docker.html http://localhost:6077

Или, если вам не нужен вывод, вы можете использовать -O -для вывода результата на стандартный вывод, а затем перенаправить стандартный вывод/stderr на /dev/null.

wget -O - http://localhost:6077 &>/dev/null

4
04.10.2020, 18:46
1 ответ

Похоже, что dbclientполностью желает прочитать закрытый ключ из именованного канала или FIFO.

Таким образом, с подстановкой процессов в bash вы можете написать:

dbclient -i <(cat.ssh/id_dropbear) user@server

Таким образом, если у вас есть зашифрованный GPG .ssh/id_dropbear.gpg, вы можете записать его как:

dbclient -i <(gpg --decrypt.ssh/id_dropbear.gpg) user@server

И после ввода пароля для расшифровки dbclientвходит в систему, используя ваш зашифрованный закрытый ключ GPG. Так что эта часть работает нормально.

Основная проблема здесь заключается в том, что если вы уже сохранили .ssh/id_dropbearнезашифрованное до этого, его можно будет восстановить криминалистически. Чтобы зашифровать ключ на лету из dropbearconvert, вы можете применить тот же принцип:

$ dropbearconvert openssh dropbear \
   .ssh/id_openssh >(gpg --symmetric --output.ssh/id_dropbear.gpg)
Key is a ssh-rsa key
Wrote key to '/dev/fd/63'

Но на практике это не кажется слишком полезным, поскольку dropbearconvertтакже предлагает лишь очень ограниченную поддержку зашифрованных закрытых ключей OpenSSH. Для этого примера мне пришлось специально создать ключ OpenSSH, который dropbearconvertпонимает...

К сожалению, этот трюк, похоже, вообще не работает для команды dropbearkey, которая по какой-то причине настаивает на записи во временный файл и его переименовании, полностью минуя канал.

Таким образом, похоже, что у вас нет другого выбора, кроме как сгенерировать закрытый ключ в tmpfsсначала (, как в /dev/shm, или с живого компакт-диска ), и зашифровать его оттуда.

3
18.03.2021, 23:00

Теги

Похожие вопросы