はじめに
弊社では業務用Raspberry Pi周辺機器の開発・製造・販売、および、それら周辺機器を使用したRaspberry Pi組込機器の受託開発・小ロット製造等を行っており、オリジナルのラズパイ向け機能拡張モジュールとして、4GPi、slee-Pi3、ADPiなどを展開しています。
今回は、シリアル通信等でPCからログインしたRaspberry Piを、CUI(CLI)から操作してSSHを有効化する手順をご紹介します。CUIからSSHを有効化/無効化する方法は、
$ sudo systemed {enable|disable} ssh
のように「systemed」を使うことが一般的かと思いますが、ここでは別の方法として「raspi-config」を使ったSSHの有効化をご紹介します。
また、弊社ではシリアル通信によるRaspberry Piへのログインを推奨しており、下記のブログで紹介しています。
使用したRaspberry Pi OSの情報
Raspberry Pi OS Lite
- Release date: February 21st 2023
- System: 32-bit
- Kernel version: 5.15
- Debian version: 11 (bullseye)
SSHの有効化
CUIからの操作でraspi-configの設定を変更する方法は、InteractiveモードとNon-Interactiveモードの2種類があります。
InteractiveモードでSSHを有効化する
下記のコマンドを実行し、raspi-configの画面を開きます。
$ sudo raspi-config
「3 Interface Options」にカーソルを移動させ、エンターキーを押します。
「I2 SSH」にカーソルを移動させ、エンターキーを押します。
SSHを有効化します。「<Yes>」にカーソルを移動させ、エンターキーを押します。
これでSSHは有効化されました。「<Finish>」にカーソルを移動させ、エンターキーを押し、raspi-configを終了します。
Non-InteractiveモードでSSHを有効化する
Non-Interactiveモードでは、結果は0または1で表示され、0:YES(ENABLE)、1:NO(DISABLE)になります。
まず、下記のコマンドを実行し、現在のSSHの設定を確認します。
$ sudo raspi-config nonint get_ssh
この場合は、1:NO(DISABLE)なので、続いてSSHを有効化するコマンドを実行します。この時、0:YES(ENABLE)の場合はすでにSSHが有効化されています。
$ sudo raspi-config nonint do_ssh 0
設定の変更を再度、下記のコマンドで確認します。
$ sudo raspi-config nonint get_ssh
0:YES(ENABLE)と表示されればSSHが有効化されています。
終わりに
今回はRaspberry PiをCUIから操作し、SSHを有効化する手順をご紹介しました。ぜひ参考にしてください。
また、raspi-config固有の機能として、下記のコマンドでsshdのホストキーが存在しない場合に、ホストキーを生成できることなどが挙げられます。
$ ssh-key-gen -A