SSH経由で暗号化されたパーティションのロックを解除できるように、initramfsでdropbear SSHサーバーを起動しています。*。
Debian Jessieではすべてが問題ありませんが、Busterではdropbearが後で停止しないように見えるため、switch_root
OpenBSD SSHサーバーは起動しません。
apt-get purge dropbear
役に立たず、which dropbear
印刷/usr/bin/dropbear
およびps -ef | grep dropbear
印刷されます/sbin/dropbear
。これは、プロセスがinitramfsフェーズで開始され、停止されなかったことを示しています。
回避策として、killall dropbear
SSHサービススクリプトでこれを実行しますが、ルートパーティションを切り替える前に終了する方が適切です。
この時点でスクリプトをどのように実行しますか?
答え1
次のようにクリーンアップスクリプトを作成します/etc/initramfs-tools/scripts/init-bottom/cleanup.sh
。
#!/bin/sh
echo "Killing dropbear"
killall dropbear
exit 0
...実行可能にします。
chmod +x /etc/initramfs-tools/scripts/init-bottom/cleanup.sh
通常どおり initramfs を更新します。
update-initramfs -u
答え2
すでにswitch_rootを呼び出すスクリプトがあるため、そこに行を挿入するとdropbearを停止できます。
SSH接続で停止することもできます。ログインするとすぐに、2つのドロップビーアプロセスがあります。 1つ目は新しい接続を受け入れるプロセスで、2つ目は接続をサービスするプロセスです。この時点では複数の接続が必要ないため、最初のプロセスを終了できます。接続が切断されると、2番目のプロセスは終了します。
他にも識別する方法がありますが、開始プロセスの最初に新しい接続を受け入れるプロセスのプロセス番号が低いことを確認できます。