本ブログでは量産時にインストールディスクで書き込みする際に、固有のSSHの鍵を
生成する方法についてご説明します。
インストールディスクではなくswupdateで量産用としてイメージを書き込む場合は、
下記のブログを参考にして頂ければと思います。
Armadillo Base OS:量産時にSSHの鍵を生成する方法(スクリプト実行編)
実施手順
sshdを有効化済み、SSHの鍵を生成済みの状態を起点として説明します。
※本手順では事前にsshdを無効化、既存のSSHの鍵を削除する手順は必要ありません。
1.make-installerを実行する
2.installer_overrides.shを作成する
1.make-installerを実行する
microSDカードを挿入して abos-ctrl make-installer を実行し、インストールディスクを
作成します。インストールディスク作成の詳細につきましてはArmadillo Base OS開発ガイド
の「開発したシステムをインストールディスクにする」を参照下さい。
[armadillo]# abos-ctrl make-installer
《補足》
・第二パーティションを作るか聞かれた場合は、適当なサイズで作成します。
・Armadillo Base OSのバージョンがv3.17.4-at.7よりも古い場合は、お手数ですが手動で
第二パーティションのファイルシステムをmkfsで設定ください
2.installer_overrides.shを作成する
上記で作成したSDカードの第二パーティションに下記スクリプトを配置します。
ファイル名はinstaller_overrides.shとします。
#installer_overrides.sh
preinstall() {
: "Preinstall function, run before eMMC is partitionned"
}
postinstall() {
: "Postinstall function, run after all other steps except sending logs"
rm /target/etc/ssh/*key* //ssh-key delete
ssh-keygen -A -f /target //new ssh-key generate
}
send_log() {
: "This function is called after aggregating logs for archival"
}
《補足》
Armadillo側のファイルパスを指定する場合は先頭に /target が必要になります。
(例:/etc/ssh ⇒ /target/etc/ssh )
この作成したSDカードでインストールを行うと、インストール時に固有のSSHの鍵も
書き込まれるようになります。