2023年11月23日

RaspberryPi OSの設定(日本語,SSH設定)


愛媛県松山観光港で広島に向かうフェリーから夕陽を望む
愛媛県松山観光港でフェリーから夕陽を望む


さて,前回は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」というファイル名に変更します。

コード

mv id_rsa.pub authorized_keys


秘密鍵「id_rsa」は,TeraTermのSCP機能でパソコン側に移動して保管し,サーバ側の秘密鍵は削除します。これで,TeraTermで公開鍵によるユーザログインが可能になります。

TeraTermのSCP機能は,ファイル(F)タブから「SSH SCP」アイコンで利用できます。
 「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 件のコメント: