愛媛県松山観光港でフェリーから夕陽を望む |
さて,前回はRaspberryPi
OSのインストールとVNCによるDesktop画面の表示までを行いました。今回は,その続きを行います。
前提としてRaspberryPiは,サーバとしての利用は考えておらず,あくまでもIoTGatewayとしてクライアントの位置づけとします。
従って,セキュリティ対策は,ubuntuサーバのようにSSL証明書を使ったサーバ対策までは言及しません。あくまでもRaspberryPiからの発呼による利用とします。
【準備した機器】
raspberry Pi (今回は,raspberry Pi4Model B 4G RAMを使います。)
raspberry Pi 用 ACアダプタ
micro SDカード(64Gbit)
LANケーブル
PC (VNCツールをインストールして,リモートデスクトップ環境で使います。)
RaspberryPi OSの日本語化ほか
これらについては容易性を考慮して,VCNツールを使ったDesktop画面(以後,単にDesktop画面という)から設定します。
それでは,RaspberryPi
OSのDesktop画面を表示して下さい。画面に向かって左上にあるラズベリーアイコンをクリックします。
RaspberryPi OSのDesktop画面
|
続いて,「設定>RaspberryPiの設定」と進みます。
RaspberryPi OSのDesktop設定画面
|
続いて,「ローカライゼイション>ロケールの設定」と進みます。ロケールの設定画面が出ますので,言語(ja(Japanese)),文字セット(UTF-8)をセットします。
RaspberryPi OSのロケール設定画面
|
ローカライゼーションでは,その他タイムゾーンやキーボードの設定もできますので,任意で設定してください。
そのほか,RaspberryPi
OSの設定画面の「システム」タブは,パスワード・ホスト名を変更します。変更したパスワード・ホスト名はログイン時に必要になりますので,忘れないようにメモしておきます。
RaspberryPi OSのシステム設定画面
|
「インターフェース」タブでは,VNCやSSHのサーバを起動することが可能です。
RaspberryPi OSのインターフェース設定画面
|
RaspberryPi OSのSSH設定
RaspberryPi
OSは,ラズベリー財団が調整したOSですが,64bitOSが使えるようになってきました。そのため,今回は,Raspberry OS (64bit-bit)を選択しています。
この場合,TeraTermの利用について注意点があります。それは,今回のRaspberryPi OSへの公開鍵ログインは,RSA暗号でRSA-SHA2暗号アルゴリズムが利用されます。
従来のTeraTerm(4バージョン)は,RSA暗号でRSA-SHA暗号アルゴリズムを使うため,ログインすることができなくなります。
これに対処するには,TeraTerm5バージョンを利用するか,RSA以外の暗号アルゴリズムを使うかの選択になります。2023年10月にTeraTerm5がリリースされましたので,それを使うのが賢明かと思います。GitHubにダウンロードサイトがありますのでご利用ください。
パスワードでログインするのであれば,従来通りTeraTerm(4バージョン)でも大丈夫ですが,RSA-SHA2暗号アルゴリズムを使うのであれば,TeraTerm5でないとログイン出来なくなります。
公開鍵でログインするには,投稿「UbuntuサーバにおけるSSH接続環境の構築」と同様に,/etc/ssh/sshd_configファイルの中で,次のコードを設定します。
コード
AuthorizedKeysfile .ssh/authorized_keys
次に,TeraTermでユーザIDにパスワードログインします。その場合のホームディレクトリは「/home/ユーザID」$表示になりますので,そのディレクトリ上で以下のコマンドを入力し,公開鍵の格納フォルダを作ります。(既にある場合は省略)
コード
mkdir .ssh
ファイル権限を調整します。
コード
sudo chmod 0700 .ssh
次に,ユーザIDの公開鍵暗号を生成します。
コード
ssh-keygen -t rsa
これにより,ホームディレクトリ下の「.ssh」フォルダ下に,秘密鍵「id_rsa」と公開鍵「id_rasa.pub」というファイルが作られます。今回のRaspberryPiの64bitOSでは,SSHのRSA暗号アルゴリズムはRSA-SHA2になります。
鍵生成時,パスフレーズが要求されますが,Enterを押してパスフレーズ無しでもOKです。
この公開鍵「id_rasa.pub」を「authorized_keys」というファイル名に変更します。
この公開鍵「id_rasa.pub」を「authorized_keys」というファイル名に変更します。
コード
mv id_rsa.pub authorized_keys
秘密鍵「id_rsa」は,TeraTermのSCP機能でパソコン側に移動して保管し,サーバ側の秘密鍵は削除します。これで,TeraTermで公開鍵によるユーザログインが可能になります。
TeraTermのSCP機能は,ファイル(F)タブから「SSH
SCP」アイコンで利用できます。
「authorized_keys」ファイルの権限は,次のコマンドで調整してください。
「authorized_keys」ファイルの権限は,次のコマンドで調整してください。
コード
chmod 0644 authorized_keys
以上で,ユーザIDへのログインに公開鍵暗号が使えるようになったと思いますので,TeraTermを再起動して確認します。
パスワードログインの禁止
公開鍵でログインできた後,投稿「UbuntuサーバにおけるSSH接続環境の構築」と同様に,/etc/ssh/sshd_configファイルの中で,
PasswordAuthentication no
と定義すれば,公開鍵暗号だけでログインできるようになります。
公開鍵を利用する設定と同時に,パスワード認証禁止の定義を行うサイトがありますが,公開鍵暗号でログインできることを確認してからパスワード認証を禁止しないと,ログインできなくなる場合がありますので注意してください。
まとめ
以上で,RaspberryPi
OSの設定がほぼ出来ましたので,Piユーザに安全にログインできるようになったと思います。今後,このRaspberryPiでプログラムを開発したり,センサーを接続したりしますが,それについては追々投稿していきたいと思います。
次は,このRaspberryPiにプログラム開発環境を構築します。基本的には,PythonまたはNode-REDが良いですが,ローコード開発ツールでありRaspberryPiと親和性の高いNode-REDのインストールを次回行います。
(注意)情報の正確性を期していますが,実施される場合には自己責任でお願いします。
0 件のコメント:
コメントを投稿