Разблокировка через SSH полностью зашифрованного ubuntu-server 12.04 Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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 безопасность шифрование}}