У меня есть зашифрованный внешний диск на сервере Linux.
На сервере я могу сделать это локально, чтобы расшифровать данные,
cryptsetup -d keyfile luksOpen /dev/sdx1 /mnt/decrypted
но я предпочитаю избегать этого на стороне сервера.
Я хочу получить доступ к серверу (через ssh/sshfs) и расшифровать данные удаленно только на моем клиентском компьютере.
Чтобы получить доступ к данным и расшифровать их удаленно, мне нужно
- смонтировать зашифрованный файл
/dev/sdx1
локально на сервере (не расшифровывая его!!)/mnt/encrypted
- смонтировать
/mnt/encrypted
через sshfs на клиентской машине (затем использоватьluksOpen
для расшифровки)
Как выполнить шаг 1 без расшифровки данных?
Спасибо, Крис.
ps: может быть, мне просто следует использовать зашифрованный контейнер (файл в файловой системе сервера), а не целый раздел? Таким образом, я мог бы смонтировать папку, содержащую зашифрованный контейнер/файл, удаленно через sshfs? (и расшифровать ее только на клиентской машине)
решение1
С вашей текущей настройкой этого достичь невозможно.
Единственный «правильный» способ сделать это — установить громкость Luks наСетевое блочное устройство.
Вы можете использовать drbd
или iscsi
для доступа к блочному устройству на вашем сервере, а затем настроить на нем Luks.
решение2
Я могу монтировать и расшифровывать luks удаленно (через sshfs
), если буду использовать контейнер luks (а не раздел luks) для хранения зашифрованных данных.
Мне просто нужно было создать контейнер luks (файл, который содержит внутри себя зашифрованную файловую систему). Этот файл представляет собой обычный файл на смонтированном разделе, поэтому его можно смонтировать удаленно через sshfs
и расшифровать позже (через устройство loop -> устройство mapper -> монтирование).
Я это проверил и могу подтвердить, что это работает.