Centos

如何在啟動時使用 openSSH 進行磁碟加密(OpenSSH 與 Dropbear)

  • March 26, 2016

基本設置:

  • 作業系統:CentOS 7(64 位)

  • Grub 2

  • 帶有 ext4 的單獨引導分區

  • 兩個磁碟分區上的 luks 加密(aes-xts-plain64:sha512),這兩個磁碟分區都需要在引導時通過密碼解鎖

-解鎖後,兩個分區都安裝在 / 作為 raid1 btrfs 文件系統

現在,我正在尋找一種干淨的策略來在啟動期間獲得遠端訪問以解鎖兩個分區。

在 Raspberry Pi 2 上,我已經在使用 Dropbear 來執行此操作,而且我發現的大多數執行緒似乎也喜歡在更大的系統中使用此選項。即使在更大的系統上,也沒有人關心所需的引導載入程序資源。

問:

根據我對 CentOS 7 Grub2(全新安裝)的理解,我已經預設執行了 OpenSSH 服務。如果 openSSH 和 dropbear 做同樣的工作,為什麼我需要安裝 dropbear?

我不應該能夠為 grub 配置 openSSH 並直接通過 openSSH 粘貼命令:

/lib/cryptsetup/askpass “passphrase:” > /lib/cryptsetup/passfifo

嗎?

那麼,dropbear 真的是在啟動時進行遠端訪問的正確且唯一的選擇嗎?

我對用於在 CentOS 上建構 initramfs 映像的 dracut 進行了一些額外的研究,它顯示了選項“–sshkey” ,該選項需要與 /etc/dracut.conf 中的模組載入選項“ssh-client”結合使用。

在我看來,好像已經有一個 ssh-client,我不需要另外安裝 dropbear。有沒有人嘗試過這個選項?有誰知道這方面的好教程?

完成這個話題。這是我在 CentOS 上的 dropbear 安裝。

我使用了以下腳本和描述: https ://github.com/dracut-crypt-ssh/dracut-crypt-ssh

按照安裝方式2.1。

所有命令都以 root 身份執行。

  1. 須藤
  2. 百勝更新
  3. yum install epel-release
  4. 百勝安裝vim
  5. 百勝安裝wget
  6. wget -O /etc/yum.repos.d/rbu-dracut-crypt-ssh-epel-7.repo https://copr.fedorainfracloud.org/coprs/rbu/dracut-crypt-ssh/repo/epel-7 /rbu-dracut-crypt-ssh-epel-7.repo
  7. 百勝安裝 dracut-crypt-ssh
  8. vim /etc/default/grub -> 更改行“GRUB_CMDLINE_LINUX”(通過在編輯器中按 i。可以更改文本)

舊行:

GRUB_CMDLINE_LINUX=“crashkernel=auto rd.luks.uuid=luks-e0e5a45d-9773-428f- b0b4-79e85395f1e7 rd.luks.uuid=luks-c4d735fb-ce26-43ec-b9fe-2c48acded15c vconsole.font=latarcyrheb-sun16 vconsole.keymap=de rhgb quiet”

新行:

GRUB_CMDLINE_LINUX=“crashkernel=auto rd.neednet=1 ip =dhcp rd.luks.uuid=luks-e0e5a45d-9773-428f-b0b4-79e85395f1e7 rd.luks.uuid=luks-c4d735fb-ce26-43ec-b9fe-2c48acded15c vconsole.font=latarcyrheb-sun16 vconsole.keymap=de rhgb quiet "

始終通過命令 “ESC -> :wq!” 保存更改 在編輯器中。 9. vim /etc/dracut.conf.d/crypt-ssh.conf -> 更改埠和對 authorized_keys 的引用(再次按 i

)取消對埠行的註釋並將預設埠 222 更改為埠 22:

“# dropbear_port=“222"” 為 “dropbear_port=“22"”

b. 取消註釋 authorized_keys 行並將路徑:

“# dropbear_acl="/root/.ssh/authorized_keys”” 更改為 “dropbear_acl="/keys/dropbear/authorized_keys”" 10. mkdir /鍵 11. mkdir /keys/dropbear 12. vim /keys/dropbear/authorized_keys -> 添加公鑰

在我的例子中,我通過執行 PuTTYgen 生成了一個密鑰對,並通過 ssh 將公鑰複製到編輯器。 13. grub2-mkconfig –輸出 /etc/grub2.cfg 14. dracut –force 15. 重啟


  1. 使用程序“PuTTY”登錄到 Windows pc 上的引導外殼。

設置:

一。IP 地址:伺服器 ip 地址

b. 埠:22

攝氏度。連接->數據->自動登錄使用者名:root

d. Connection->SSH->Auth->Private key file for authentication->Dropbear.ppk -> Hit Open Button

應該顯示類似:

使用使用者名“root”。使用公鑰“rsa-key-20160322”-sh-4.2# 進行身份驗證

  1. console_peek(出於某種原因,在 console_auth 之前總是需要此命令才能成功進行密碼轉發)。
  2. console_auth -> Passphrase: -> 輸入加密設備的密碼並輸入

解鎖在我的情況下沒有用,因為 crypttab 包含許多在啟動時無法解鎖的分區。

引用自:https://unix.stackexchange.com/questions/271755