/home/tnishinaga/TechMEMOスマートフォン用の表示で見る/home/tnishinaga/TechMEMO日々行ったこと、面白かったことを書き留めます。この広告は、90日以上更新していないブログに表示しています。インストール時に暗号化してリモートから鍵入力できるようにする話NAS用LinuxディストリビューションのRockstorを使ってお家のNASを作り直したので、そのときにやったことを備忘録として書き残しておきます。私は以前からRockstorを入れたNASサーバーを運用していたのですが、以下の点が気になっていたのでOSごとインストールし直しを行いました。diskを2枚指したのにRAIDを組めていない再構築の主目的は以下の2点になります。disk)をRAID1にするなお、RockstorをUEFIブートするようインストールする件に関しては、途中で発生した問題をすべて解決できなかったので諦めました。詳細は最後におまけで記します。暗号化の話インストール最近のインストーラーはとても親切なので、指示に従っているだけでDisk暗号化をしつつOSのインストールができました。わからないことがあっても、RockstorはRHEL系ディストリビューションをベースとしているので、FedoraやCentOSのドキュメントを参考にすれば良いでしょう。ディスク暗号化のリモート解除さて、ここが私がこの備忘録を書いたきっかけになります。インストール後、実際に起動してみて困ったのが起動時のディスク暗号化解除方法です。Rockstorでディスク暗号化を行いつつインストールを行うと、起動時にディスク暗号化を解除するためのパスコード入力を求められます。うちのサーバーマシンは基本的にディスプレイとキーボードを外して運用していることに加え、頻繁に電源をON//OFFするので、毎回起動時にパスワード入力を求められると不便です。これを解決するために、はUSBメモリに鍵を入れ、起動時に自動で復号する方法やSSH経由でリモートから鍵入力をする方法がありますが、今回は後者を試してみました。この方法を使うメリットとしては、復号鍵が対象から分離されることと、USBメモリなど追加で必要なものがないので気軽に試せる点があるでしょう。基本的な作業手順は以下のサイトのStep6以降を進めるだけです。https://www.vultr.com/docs/install-and-setup-centos-7-to-remotely-unlock-lvm-on-luks-disk-encryption-using-ssh#Step_6__Install_Dracut_Crypt_SSHこちらも参考になります。https://github.com/dracut-crypt-ssh/dracut-crypt-sshRockstorのマシンにrootでログインした後、dracut-crypt-sshパッケージを入れます。-y次に/etc/default/grubを開いてgrubのエントリを修正し、起動時にIPアドレスを得るように設定します。入れれば設定完了です。IPを割り当てたい方は以下を参照してください。https://wiki.archlinux.jp/index.php/Dm-crypt/%E7%89%B9%E8%A8%98%E4%BA%8B%E9%A0%85#root_.E3.81.AA.E3.81.A9.E3.81.AE.E3.83.91.E3.83.BC.E3.83.86.E3.82.A3.E3.82.B7.E3.83.A7.E3.83.B3.E3.81.AE.E3.83.AA.E3.83.A2.E3.83.BC.E3.83.88.E8.A7.A3.E9.99.A4設定後のGRUB_CMDLINE_LINUXの行はこんな感じになります。quiet"設定が完了したら以下のコマンドでgrubのconfigを生成します。/etc/grub2.cfg次にinitramfs内に入れるSSHの設定を記入していきます。開いて以下を追記します。dropbear_acl="/etc/dropbear/keys/authorized_keys"dropbear_ecdsa_key="/etc/dropbear/keys/ssh_ecdsa_key"dropbear_rsa_key="/etc/dropbear/keys/ssh_rsa_key"ファイルを保存したら、ここで設定した場所に新しいSSH鍵を生成します。この鍵は起動時にディスク復号パスワードを受け取るためのSSH通信に利用されます。開き、ディスク復号鍵を送るための、接続元マシンの公開鍵を記述します。ここで記述する鍵はrsaの公開鍵である必要があります。dropbearを使う場合はed25519鍵でアクセスできないようです。ここ、ドハマりポイントでした。最後にdracutコマンドでinitramfsを生成して再起動すれば設定完了です。reboot再起動後、サーバーにユーザーroot、ポート222で接続し、console_authコマンド実行後にディスク復号のパスワードを入れればOSが立ち上がります。このアンロックの手順も自動化できるようなのですが、とりあえず今日はここまでで。詳しい話は以下を参照。diskの暗号化は公式のドキュメントがあるのでこちらを参照して作成してください。http://rockstor.com/docs/luks/luks.htmlRAIDを組む場合は先にディスク暗号化を済ませてからpool割当のところで設定すれば作れます。詳しくは以下参照です。結論から話せば、少なくとも2019年2月ごろのRockstorはUEFIブートからインストールができませんでした。以下理由を記しますが、メモをとっていなかったため誤りが含まれるかもしれません。インストーラーのISOをそのままUSBメモリに書き込むとUEFIブートしません。これはfatでフォーマットしたUSBメモリにISOの中身を書き込むと回避できますが、今度は立ち上がったKernelがrootfsをマウントできず失敗します。これはどうやらrootfsのラベル指定がUSBメモリのラベルを指していないことが原因のようで、grub.cfgを書き換えてUSBメモリのラベルで参照できるようにすると解決します。この修正でインストーラーが立ち上がるところまで進みますが、インストール途中にエラーが起きて先に進めない問題が発生したため、解決を諦めました。v3を買いました月別アーカイブはてなブログをはじめよう!tnishinagaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。