Luks、SSHロック解除、奇妙な動作、無効なAuthorized_keysファイル

Luks、SSHロック解除、奇妙な動作、無効なAuthorized_keysファイル

なぜか分からないけど追いつけないこのガイドライン私のDebianの屋台で。 dropbearとbusyboxをインストールした後に実行しようとしましたが、initramfs -u奇妙な警告が表示されました。

# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.9.0-4-amd64
dropbear: WARNING: Invalid authorized_keys file, remote unlocking of cryptroot via SSH won't work!

その後、ファイルを表示しようとしましたが、/etc/initramfs-tools/root/.ssh/id_rsainitramfsフォルダにフォルダがありません。root私も走ってみました。

dropbearkey -t dss -f /etc/initramfs-tools/etc/dropbear/dropbear_dss_host_key

ただし、フォルダがないため、/etc/initramfs-tools/etc/このコマンドも失敗します。もちろん、これらのフォルダを作成できますが、この奇妙な動作はより深いバグに起因するものではありません。役に立つ場合は、initramfsフォルダの内容は次のとおりです。

me@server:/etc/initramfs-tools# ls
conf.d  hooks  initramfs.conf  modules  scripts  update-initramfs.conf

ありがとうございます!

答え1

#debianの助けのおかげで、ついに解決策を見つけました。最近のDebianでは、プロセスはかなり異なるようです。これは新しいものです:

まず確認してインストールdropbeardropbear-initramfsてください。

sudo apt install busybox dropbear*

~/.ssh/id_rsa.pubその後、ファイルに公開キー(ほとんどの場合)を追加します(編集:最近はdropbearに/etc/dropbear-initramfs/authorized_keysあるようです。ファイルはPeter Schillingの答えに基づいています)。/etc/dropbear/initramfs/authorized_keys

initramfsその後、変更を考慮して更新します。 : update-initramfs -u

それだけです!

dropbearとの間のキーの競合を回避するには、(同じIPを共有しますが別のキーを使用する)、opensshクライアントに~/.ssh/config次のエントリを追加する必要があります。

Host myserver_luks_unlock
     User root
     Hostname <myserver>
     # The next line is useful to avoid ssh conflict with IP
     HostKeyAlias <myserver>_luks_unlock
     Port 22
     PreferredAuthentications publickey
     IdentityFile ~/.ssh/id_rsa

次に、次のコマンドを使用して簡単に接続します。

ssh myserver_luks_unlock

プロンプトが表示されたら、busyboxのテキストに提案されているとおりに入力してください。

cryptroot-unlock

楽しむ!

答え2

いくつかの追加の詳細です。

まず、SSHクライアントにまだ秘密鍵と公開鍵のペアがない場合は、次のようにssh-keygen生成する必要があります。ここ

第二に、以下が必要であることを指摘したいと思います。

あなたの追加顧客の/etc/dropbear-initramfs/authorized_keys ファイルの公開鍵(ほとんど ~/.ssh/id_rsa.pub)サーバー上

それはすべてです。クライアント側から:

c_user@client:~$ scp .ssh/id_rsa.pub s_user@server:id_rsa.pub

サーバーから:

s_user@server:~$ sudo sh -c "cat id_rsa.pub >> /etc/dropbear-initramfs/authorized_keys"
s_user@server:~$ rm id_rsa.pub

最後に、サーバーに接続することが非常に重要です。(rootアカウントが無効になっていても同じです)

答え3

数年後、この質問が役に立つと思った私のような人のために、以下を更新してください。 トビアスボラの答え改善ソリトンの答え最新バージョンのDropbearを除いて、まだ動作します。キーファイルは次の場所になければなりません。

/etc/dropbear/initramfs/authorized_keys

変える

/etc/dropbear-initramfs/authorized_keys

関連情報