Closed4

Dropbear SSH自習

堀江誠一堀江誠一

このスクラップの内容は整理して『Linuxの暗号化解除をコンソール以外で行うためにClevis-TangとDropbaerを使うGitHubで開く』に公開しました。

スクラップは閉じます。


ルート暗号化されたUbuntuをブート中にSSH接続してユーザーが暗号解除する方法について学ぶ。暗号化されたUbuntuのルートファイルシステムをリモートから復号する方法をなぞる。

  • Ubuntu 24.04 Server

方法としてはdropbare SSHをinitramfsに組み込み、そこに接続する。SSHの認証キーは通常作業と同じものを使うものとする。

堀江誠一堀江誠一
sudo apt install dropbear-initramfs

Configurationファイルを変更して、SSHのポートを2222にする。これはinitramfsと本体で同じIPアドレスを使いまわす場合、ポートまで同じだとホストキーが異なることへのエラーが出るから。

/etc/dropbear/initramfs/dropbear.conf
#
# Command line options to pass to dropbear(8)
#
DROPBEAR_OPTIONS="-p 2222"

自分の認証済みSSHキーをコピーしてinitramfsをアップデートする。

sudo cp /home/seiichi/.ssh/authorized_keys .
sudo update-initramfs -u -k all

再起動後、sshで接続できるようになる。試験的に起動するときにはコンソールにDHCPが取得したIPアドレスが表示されるのでそれをめがけてSSH接続すればいい。ユーザー名はroot。

ssh -p 2222 root@xxx.xxx.xxx.xxx

ログイン出来たらcryptroot-unlockを実行する。

cryptroot-unlock

これで暗号解除パスフレーズの入力を促される。入力すると接続先のルート・ドライブの暗号が解除され、起動される。

堀江誠一堀江誠一

SSHから接続するためにはIPアドレスを固定しなければならない。固定するアドレスはDHCPが付与するアドレスレンジの外である。まず。GRUBの設定ファイルを書き換える。

/etc/default/grub
GRUB_CMDLINE_LINUX="ip=192.0.2.100::192.0.2.1:255.255.255.0:fde:enp5s0:none"

ここで、ip=の後には引数を":"で区切って書く。最初から順番に

  • initramfsで使用するIPアドレス
  • NFSサーバーのIPアドレス(省略可)
  • ゲートウェイのIPアドレス
  • ネットマスク
  • ホスト名
  • インターフェース名
  • 自動設定方法

インターフェース名は本体が立ち上がったときに利用しているデバイス名を与えた。

修正を保存したらgrubを更新して再起動する。

sudo update-grub
堀江誠一堀江誠一

以上で、以下の様な固定IPアドレスに対してSSH接続し、cryptroot-unlockでルートディスクの暗号を解除できる。

ssh -p 2222 root@192.168.222.101

この解除はclavisによる暗号解除と並行して走るので、

  • コンソールからの解除
  • Clavisからの解除
  • SSH接続からの解除

いずれか一番早い解除によって起動する。

このスクラップは2025/01/29にクローズされました