Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:unlock_luks_ssh [2013/11/27 23:36] [Использование] |
wiki:unlock_luks_ssh [2019/01/04 01:55] (текущий) [Ссылки] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Разблокировка через SSH полностью зашифрованного ubuntu-server 12.04====== | ====== Разблокировка через SSH полностью зашифрованного ubuntu-server 12.04====== | ||
- | {{:wiki:hdd_crypt.png?250 |}}За основу взят перевод статьи [[http://hacksr.blogspot.ru/2012/05/ssh-unlock-with-fully-encrypted-ubuntu.html|SSH unlock with fully encrypted ubuntu 12.04 server]] by Christoph Gritschenberger (HacksR), с последующими испытаниями, некоторыми изменениями и дополнениями, поскольку в оригинальном виде заработало не всё. | + | {{:wiki:hdd_crypt.png?250 |}}За основу взята статья [[http://hacksr.blogspot.ru/2012/05/ssh-unlock-with-fully-encrypted-ubuntu.html|SSH unlock with fully encrypted ubuntu 12.04 server]] by Christoph Gritschenberger (HacksR), с последующими испытаниями, некоторыми изменениями и дополнениями, поскольку в оригинальном виде заработало не всё. |
При работе на сервере с полностью зашифрованной системой зачастую нежелательно вводить пароль с локальной клавиатуры. Однако, настройка разблокировки через SSH не проста, так как есть несколько проблем которые необходимо обойти, прежде чем это заработает. Здесь собрано полное руководство как всё настроить. | При работе на сервере с полностью зашифрованной системой зачастую нежелательно вводить пароль с локальной клавиатуры. Однако, настройка разблокировки через SSH не проста, так как есть несколько проблем которые необходимо обойти, прежде чем это заработает. Здесь собрано полное руководство как всё настроить. | ||
Все действия производились на <<Ubuntu-Server 12.04.3 LTS "Precise Pangolin" - Release i386>> установленном на носитель виртуальной машины KVM размеченный по методу <<Авто - использовать весь диск с шифрованным LVM>>. | Все действия производились на <<Ubuntu-Server 12.04.3 LTS "Precise Pangolin" - Release i386>> установленном на носитель виртуальной машины KVM размеченный по методу <<Авто - использовать весь диск с шифрованным LVM>>. | ||
+ | |||
+ | Всё описанное ниже, оказалось справедливо также для Ubuntu 15.04 с загрузкой UEFI и таблицей разделов GPT. | ||
Разблокировка корневого раздела выполняется в <<initial ramdisk>> который загружается с незашифрованного раздела <</boot>>. Для того что бы получить доступ через ssh, необходимо иметь ssh-сервер в этом начальном RAM диске. Это будет легковесный сервер **dropbear**. Устанавливаем его, а также openssh-server для последующего подключения к расшифрованной системе: | Разблокировка корневого раздела выполняется в <<initial ramdisk>> который загружается с незашифрованного раздела <</boot>>. Для того что бы получить доступ через ssh, необходимо иметь ssh-сервер в этом начальном RAM диске. Это будет легковесный сервер **dropbear**. Устанавливаем его, а также openssh-server для последующего подключения к расшифрованной системе: | ||
======Установка и настройка ssh-сервера====== | ======Установка и настройка ssh-сервера====== | ||
<code bash>sudo apt-get install openssh-server dropbear</code> | <code bash>sudo apt-get install openssh-server dropbear</code> | ||
- | Установщик dropbear автоматически использует ключи RSA и DSA предоставляемые OpenSSH. Он также автоматически интегрируется в initrd. При этом, он генерирует отдельную пару ключей для начального рамдиска, что может быть нежелательно, поскольку при подключении каждый раз будет выдавать ошибки <<WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!>> Поэтому автор предлагает для начального рамдиска использовать системную пару ключей: | + | Установщик dropbear автоматически использует ключи RSA и DSA предоставляемые OpenSSH. Он также автоматически интегрируется в initrd. При этом, он генерирует отдельную пару ключей для начального рамдиска, что может быть нежелательно, поскольку при подключении каждый раз будет выдавать ошибки <<WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!>> Поэтому [[http://www.blogger.com/profile/00040086117502106907|автор]] предлагает для начального рамдиска использовать системную пару ключей: |
<code bash>sudo cp /etc/dropbear/dropbear_* /etc/initramfs-tools/etc/dropbear/</code> | <code bash>sudo cp /etc/dropbear/dropbear_* /etc/initramfs-tools/etc/dropbear/</code> | ||
На практике этого оказалось недостаточно. Что бы избежать необходимости всякий раз чистить файл <<known_hosts>>, был использован конвертор dropbearconvert, которым хостовый ключ ssh_host_rsa_key был преобразован в формат dropbear и использован в initrd: | На практике этого оказалось недостаточно. Что бы избежать необходимости всякий раз чистить файл <<known_hosts>>, был использован конвертор dropbearconvert, которым хостовый ключ ssh_host_rsa_key был преобразован в формат dropbear и использован в initrd: | ||
Строка 26: | Строка 28: | ||
<code>GRUB_CMDLINE_LINUX="ip=192.168.122.192::192.168.122.1:255.255.255.0::eth0:none"</code> | <code>GRUB_CMDLINE_LINUX="ip=192.168.122.192::192.168.122.1:255.255.255.0::eth0:none"</code> | ||
Обновим конфигурацию grub: | Обновим конфигурацию grub: | ||
- | <code>update-grub</code> | + | <code bash>sudo update-grub</code> |
+ | <note tip>При работе с десктопом выяснилось, что сетевые параметры всё же лучше указывать явно в виде <code>ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:<dns0-ip>:<dns1-ip></code>иначе настройки, полученные по dhcp, каким то образом передаются в NetworkManager и создают новое соединение "настроенное вручную" не вполне корректно (без указания DNS сервера) </note> | ||
======Настройка авторизации по открытому ключу====== | ======Настройка авторизации по открытому ключу====== | ||
Если мы захотим проходить аутентификацию [[/wiki/ssh=#аутентификация_на_основе_ssh2_rsa-ключей|с помощью открытого ключа]], то должны сделать что бы рамдиск принимал его: | Если мы захотим проходить аутентификацию [[/wiki/ssh=#аутентификация_на_основе_ssh2_rsa-ключей|с помощью открытого ключа]], то должны сделать что бы рамдиск принимал его: | ||
- | <code bash>sudo ~/.ssh/authorized_keys /etc/initramfs-tools/root/.ssh/autorized_keys</code> | + | <code bash>sudo cp ~/.ssh/authorized_keys /etc/initramfs-tools/root/.ssh/authorized_keys</code> |
======Обход бага аутентификации #834174====== | ======Обход бага аутентификации #834174====== | ||
Из-за [[https://bugs.launchpad.net/ubuntu/+source/dropbear/+bug/834174|бага ubuntu]] аутентификация всегда будет терпеть неудачу при попытке логина в систему начального рамдиска. Обход бага предоставлен Alex Roper: | Из-за [[https://bugs.launchpad.net/ubuntu/+source/dropbear/+bug/834174|бага ubuntu]] аутентификация всегда будет терпеть неудачу при попытке логина в систему начального рамдиска. Обход бага предоставлен Alex Roper: | ||
Строка 110: | Строка 113: | ||
fi</code> | fi</code> | ||
Сохраняем файл и делаем исполняемым: | Сохраняем файл и делаем исполняемым: | ||
- | <code bash>sudo chmod +x /etc/initramfs-tools/hooks/crypt_unlock</code> | + | <code bash>sudo chmod +x /etc/initramfs-tools/hooks/crypt_unlock.sh</code> |
Обновим initramfs и перезагрузимся: | Обновим initramfs и перезагрузимся: | ||
- | <code bash>sudo update-initramfs-u;sudo reboot</code> | + | <code bash>sudo update-initramfs -u; sudo reboot</code> |
======Использование====== | ======Использование====== | ||
Теперь, когда загрузится наш начальный рамдиск, мы можем подключиться к серверу ssh: | Теперь, когда загрузится наш начальный рамдиск, мы можем подключиться к серверу ssh: | ||
Строка 134: | Строка 137: | ||
* [[http://hacksr.blogspot.ru/2012/05/ssh-unlock-with-fully-encrypted-ubuntu.html|SSH unlock with fully encrypted ubuntu 12.04 server ]] | * [[http://hacksr.blogspot.ru/2012/05/ssh-unlock-with-fully-encrypted-ubuntu.html|SSH unlock with fully encrypted ubuntu 12.04 server ]] | ||
* [[http://blog.neutrino.es/2011/unlocking-a-luks-encrypted-root-partition-remotely-via-ssh/|Unlocking a LUKS encrypted root partition remotely via SSH]] | * [[http://blog.neutrino.es/2011/unlocking-a-luks-encrypted-root-partition-remotely-via-ssh/|Unlocking a LUKS encrypted root partition remotely via SSH]] | ||
+ | * [[https://help.ubuntu.ru/wiki/remote_unlock_ssh|Удаленная разблокировка зашифрованного корневого раздела ubuntu-server 18.04 через SSH]] | ||
* [[FIXME]] | * [[FIXME]] | ||
- | {{tag>unlock_luks_ssh}} | + | |
+ | {{tag>unlock luks ssh безопасность шифрование}} | ||