Я пытаюсь установить выделенный сервер с зашифрованным диском, я нашел, что некоторая справка онлайн будит это и выполнение, но я работаю в некотором получении проблем dropbear-initramfs
запускаться правильно. (учебное руководство вдоль тех строк https://hamy.io/post/0005/remote-unlocking-of-luks-encrypted-root-in-ubuntu-debian/)
Таким образом, я устанавливаю dropbear-initramfs пакет и получаю ошибку, которую пропускают ключи, и он не будет работать. Я добавляю authorized_keys, я настраиваю dropbear для работы другого порта, и я обновляю initramfs, но при начальной загрузке не запускается dropbear, и мне просто предлагают нормальное имя пользователя/пароль. Я попробовал несколько вещей разбудить это и выполнение, я попробовал к dpkg, реконфигурировали пакет, после того как ключи являются установкой правильно, и я больше не получаю сообщение об ошибке, но dropbear все еще не запускается.
Если бы у кого-либо есть какой-либо указатель, который очень ценился бы :)
С уважением
P.S.: Я взглянул для уже открытых вопросов, но большинство их теперь довольно старо, и dropbear + initramfs, предполагают для EA начиная с человечности 16.04 (с dropbear-initramfs пакетом).
Вы почти сделали что, что должно быть сделано...
Из-за проблемы безопасности, authorized_keys, содержа открытый ключ Вашего клиента был удален...
Dropbear и openssh являются оба серверами SSH, но не совместно используют тот же формат ключей, хотя они совместно используют тот же принцип частных открытых ключей:
authorized_keys
файл на стороне сервера,known_hosts
файл на стороне клиента. Вот почему соединяться с dropbear сервером, обоими ssh
и dbclient
может использоваться, но /usr/lib/dropbear/dropbearconvert
должен использоваться для преобразования открытых ключей, удостоверяются ssh
совместимо с dropbear, или сделать dbclient
совместимый с sshd
.
dropbear намного меньше, чем sshd
и даже при том, что это является более основным, хорошо иметь общедоступный сервер только для ключа SSH в наличии на ранней стадии процесса начальной загрузки Linux, конкретно при использовании загрузчика, такого как PXE и/или iPXE.
Чтобы сделать это, dropbear должно быть интегрировано к init файловой системе ( initrd
изображение).
Пакет Ubuntu dropbear-initramfs
должен быть установлен (я использую версию, 2017.75-3build1 на Ubuntu 18.04).
Настройки всего dreopbear находятся в /etc/dropbear-initramfs/
папка, включая конфигурационный файл (config
), закрытые ключи сервера, rsa, dss, ecdsa (dropbear_*_host_key
), и открытые ключи клиента к принятому (authorized_keys
) должен быть помещен сюда в корректном dropbear формате.
Затем обновить Ваш ток initrd
файл изображения в /boot/
каталог, необходимо запуститься:
sudo update-initramfs -u
Этот пакет идет со сценариями для создания initrd
изображения в /usr/share/initramfs-tools/hooks/dropbear
, и сценарии для выполнения на ранних стадиях процесса начальной загрузки в /usr/share/initramfs-tools/scripts/init-premount/dropbear
, и только затем те последние сценарии, встроенные в initrd
изображения.
Некоторые дистрибутивы удаляют authorized_keys
при определенных условиях предотвратить ssh
соединения на ранних стадиях. Для хитрости этого необходимо проверить это и работу вокруг такого как указано ниже:
$ cd /usr/share/initramfs-tools/scripts/
$ grep -R authorized_keys *
init-bottom/dropbear:# delete authorized_keys(5) file to forbid new SSH sessions
init-bottom/dropbear:#rm -f ~root/.ssh/authorized_keys
init-bottom/dropbear: # just kill this script), so deleting root's authorized_keys(5) file
... где мы смягчаем удаление authorized_keys
смочь соединиться в машину, когда что-то идет не так, как надо в initramfs
этап.
Работает для Debian, также должно работать и для Ubuntu: https://github.com/ceremcem/unlock-luks-partition
Ниже приведены инструкции по загрузке вашего СЕРВЕРА с помощью подключение и разблокирование зашифрованного раздела через КЛИЕНТА по SSH:
ПРЕДУПРЕЖДЕНИЕ : ввод криптографического ключа по сети может быть безопасным (из-за безопасного характера соединения SSH) , пока вы полностью уверены, что initramfs не был порабощен, так что не происходит атаки MITM, пока вы набираете кодовую фразу для вашего диска.
apt-get install dropbear initramfs-tools busybox
Убедитесь, что Dropbear отключил себя в / etc / default / dropbear
NO_START=1
Просто скопируйте и вставьте свои открытые ключи в / etc / dropbear-initramfs / authorized_keys
на СЕРВЕРЕ
Создайте следующий сценарий как /etc/initramfs-tools/hooks/crypt_unlock.sh
#!/bin/sh
PREREQ="dropbear"
prereqs() {
echo "$PREREQ"
}
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
. "${CONFDIR}/initramfs.conf"
. /usr/share/initramfs-tools/hook-functions
if [ "${DROPBEAR}" != "n" ] && [ -r "/etc/crypttab" ] ; then
cat > "${DESTDIR}/bin/unlock" << EOF
#!/bin/sh
if PATH=/lib/unlock:/bin:/sbin /scripts/local-top/cryptroot; then
kill \`ps | grep cryptroot | grep -v "grep" | awk '{print \$1}'\`
# following lines will be executed after the passphrase has been correctly entered
# kill the remote shell
kill -9 \`ps | grep "\-sh" | grep -v "grep" | awk '{print \$1}'\`
exit 0
fi
exit 1
EOF
chmod 755 "${DESTDIR}/bin/unlock"
mkdir -p "${DESTDIR}/lib/unlock"
cat > "${DESTDIR}/lib/unlock/plymouth" << EOF
#!/bin/sh
[ "\$1" == "--ping" ] && exit 1
/bin/plymouth "\$@"
EOF
chmod 755 "${DESTDIR}/lib/unlock/plymouth"
echo To unlock root-partition run "unlock" >> ${DESTDIR}/etc/motd
fi
Сделайте его исполняемым:
chmod +x /etc/initramfs-tools/hooks/crypt_unlock.sh
Создайте сценарий очистки как / etc / initramfs- tools / scripts / init-bottom / cleanup.sh
:
#!/bin/sh
echo "Killing dropbear"
killall dropbear
exit 0
... и сделать его исполняемым:
chmod +x /etc/initramfs-tools/scripts/init-bottom/cleanup.sh
Отредактируйте /etc/initramfs-tools/initramfs.conf
, чтобы добавить (или изменить) строку:
IP=192.168.1.254::192.168.1.1:255.255.255.0::eth0:off
format:
IP=${ip}::${gateway_ip}:${netmask}:[${hostname}]:${eth_device}:${autoconf}
([hostname] can be omitted)
В новых ядрах
eth0
переименован вenp0s3
(или что-то в этом роде). Проверьте это с помощьюls / sys / class / net
ВНИМАНИЕ : будьте осторожны, если вы напрямую редактировали /boot/grub/grub.cfg
, так как он будет перезаписан ниже команда. Вы можете получить нарушенную последовательность загрузки. См. важное примечание .
update-initramfs -u
ssh (скрытый) [-i ~ / .ssh / id_rsa]
Возможно, вы захотите ваш СЕРВЕР для подключения вашего Link Up Server к SSH, создайте обратный туннель к его SSH-серверу, чтобы вы могли подключить ваш СЕРВЕР через ваш Link Up Server, что устраняет необходимость в перенаправлении брандмауэра для вышеуказанного процесса.
(см. Reverse-tunnel-setup.md)
(на основе https://askubuntu.com/a/840067/371730 )
Определите дополнительные порты:
--- / usr / share / initramfs-tools / scripts / init-premount / dropbear 2018-09-22 01: 55: 50.963967412 +0300
+++ / usr / share / initramfs-tools / scripts / init-premount / dropbear 2018-09-22 01:56: 04.091945164 +0300
@@ -26,7 +26,7 @@
- exec / sbin / dropbear $ DROPBEAR_OPTIONS -Fs
+ exec / sbin / dropbear $ DROPBEAR_OPTIONS -Fs -p 22 -p 80
Обновите initramfs:
update-initramfs -u