Debianインストーラー(di)も同様の問題に直面しており、それらの解決策が役立つ可能性があります。まず、diのアーキテクチャに関する注意:diはモジュール式であるため、コンポーネントをudebの形式で追加することで、機能を追加できます。udebは、イメージの生成時または実行時に追加できます。関心のあるモジュールはネットワークコンソールです。実行時にモジュールを自動的にインストールする場合は、preseedファイルがそれを行います。
次に、ネットワークコンソールモジュールの仕組みを示します。
ローカルコンソールから使用するパスワードを2回取得します(事前シードではこれを事前に設定するか、既にハッシュされたパスワードを使用できます。
パスワードファイルにエントリを生成します
ホストキーを生成します
sshdを起動します。
生成されたホストキーをインストールされたシステムにコピーするフックを設定します。
このアプローチの既知の欠点は次のとおりです。
パスワードの事前シードはあまり安全ではありません。
インストーラを再実行すると、別のホストキーが生成されます。
パスワードの代わりに認証済みキーリストをインストールする(および無効なパスワードハッシュを使用する)ことで、パスワードの問題を軽減できます。
私のプレシードファイルの関連部分は次のとおりです。
d-i anna/choose_modules string network-console,openssh-client-udeb
#d-i anna/choose_modules seen false
d-i network-console/password password r00tme
d-i network-console/password-again password r00tme
d-i preseed/early_command string mkdir .ssh; cd .ssh; wget http://192.168.0.1/debian/authorized_keys