Как можно разблокировать полностью зашифрованную систему Ubuntu 11.10 через SSH при загрузке?

Это то, что я сделал, чтобы исправить проблему на Ubuntu 16.04, на котором запущен Gnome 3 - самый последний ISO на этом посту.

Отключить масштабирование.

Если вы активировали масштабирование, отключите его после того, как вы его использовали. По-видимому, он работает одинаково в обычном режиме, как в режиме масштабирования, если вы не отключите доступ к доступности.

8
задан 25 October 2011 в 09:01

2 ответа

Просто сделал какой-то поисковик, и кажется, что Плимут мешает. Если plymouth там, то при загрузке, cryptsetup запросит plymouth для пароля, а это значит, что он не использует passfifo.

Лучшим обходным решением является помещение следующего скрипта в каталог /usr/share/initramfs-tools/hooks/. После того, как вы поставьте его там, вы можете chmod +x, а затем вы должны update-initramfs -u. Затем вы можете использовать команду unlock (которая создается сценарием ниже).

Это зависит от того, как вы используете ssh-ключ для входа. Если вы хотите использовать пароль, вам нужно поместить SSHUSERPASS=<username> в /etc/initramfs-tools/initramfs.conf

#!/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
            /sbin/pkill cryptroot
            /sbin/pkill -f "plymouth ask-for-pass"
            /sbin/pkill cryptsetup
            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"

    # Enable password login
    if [ -n "$SSHUSERPASS" ]
    then
        sed -n "s/^${SSHUSERPASS}:/root:/p" /etc/shadow > "${DESTDIR}/etc/shadow"
        chmod 640 "${DESTDIR}/etc/shadow"
    fi
fi

. Вы можете прочитать больше в этом сообщении на ubuntuforums , эта ошибка пусковой панели и немецкий пост, я больше всего этого отказал от .

4
ответ дан 31 July 2018 в 11:09

до эта ошибка разрешена, вы можете попытаться сначала убить plymouth. К сожалению, нет простого способа определить PID plymouthd. Но Плимут знает, как бросить себя :-) Так что должно быть достаточно.

plymouth --quit; echo -ne "keyphrase" > /lib/cryptsetup/passfifo

0
ответ дан 10 August 2018 в 09:06

Другие вопросы по тегам:

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