Raspberry Pi(ラズベリーパイ)の最大の魅力の一つは、やはりネットワーク連携ですよね。 センサーの値をネット経由で飛ばすIoT化や、以前の記事でも紹介したファイルサーバー構築、スマートホーム化など、ラズパイが1台あるだけで夢が広がります。
しかし、ネットワークに繋がるということは、外からの「攻撃」にさらされるリスクもゼロではありません。 今回は、遠隔操作(SSH)を安全に行うために、初心者がまずやっておくべき最低限のセキュリティ対策を2つ紹介します。
Raspberry Pi × ネットワークの強み
Raspberry Piの強みは、やはりネットワーク連携です。
- IoTデバイス化
- ファイルサーバ構築
- スマートホーム化
- 家電の遠隔操作
など、「小さなサーバ」としてかなり幅広いことができます。
その中でもよく使うのが
👉 SSH(別PCから操作)
👉 VNC(画面操作)
今回はこの中でも、SSHのセキュリティ強化にフォーカスします。
SSHポート番号を「22」から変更しよう
なぜポート番号を変えるのか?
家の住所(IPアドレス)がわかっても、玄関のドアがどこにあるか分からなければ、泥棒は入りにくいですよね。
SSHのデフォルト設定では、ポート番号は「22」と決まっています。これは世界共通のルールなので、悪意のあるプログラムは手当たり次第に「22番ポート」を叩いて侵入を試みます。 ここを自分だけの番号に変えるだけで、「不特定多数からの機械的な攻撃」を大幅に減らすことができるんです。
設定手順
設定ファイルの書き換えは少し緊張しますが、一歩ずつ進めれば大丈夫です。
-
ラズパイのターミナルで設定ファイルを開きます。
sudo nano /etc/ssh/sshd_config -
#Port 22という行を探します(「#」は無効化を意味します)。 -
「#」を消して、番号を「49152〜65535」あたりの好きな番号に変えます(例:
Port 54321)。 -
保存(Ctrl+O → Enter)して終了(Ctrl+X)。
-
SSHを再起動して設定を反映させます。
sudo systemctl restart ssh
注意!:次回以降、SSH接続するときは「変更したポート番号」を指定するのを忘れないでくださいね。
「合鍵」でログイン!SSH公開鍵認証の設定
SSH公開鍵認証とは?
「パスワードを入力してログイン」する代わりに、「秘密鍵(自分だけが持つ鍵)」と「公開鍵(ラズパイに渡しておく鍵)」のペアを使ってログインする方法です。

メリット
-
突破がほぼ不可能: パスワードのように推測されることがありません。
-
入力が楽: 一度設定すれば、長いパスワードを毎回打つ手間が省けます(設定次第でパスワードなしログインも可能)。
設定手順(Windows PCから接続する場合)
-
鍵ペアの作成
PC側のターミナル/コマンドプロンプトで下記コマンドを実行ssh-keygen -t ed25519鍵ペアの保存先とパスワードの設定を求められます。
鍵ペアの保存先はデフォルトのままで進めるとC:\Users\ユーザ名/.sshに「id_ed25519」「id_ed25519.pub」が保存されます。 -
ラズパイに鍵を渡す
作成されたid_ed25519.pub(公開鍵)の中身をコピーして、ラズパイ側の.ssh/authorized_keysというファイルに追記します。
いくつかラズパイに鍵を移す方法(SDカード、Sambaなど)はありますが、ここではSSHで送信します。
先にラズパイ側のホームディレクトリ直下に.sshフォルダを作成します。
ラズパイのターミナルで以下コマンドを実行mkdir ~∼/.ssh
次にPC側(windows)でcdコマンドで公開鍵があるファイル(C:\Users\ユーザ名/.ssh)に入ります。cd C:\Users\ユーザ名/.sshPC側でscpコマンドで公開鍵をラズパイに送信します。
scp -p id_ed25519.pub [ラズパイユーザ名]@[ラズパイIPアドレス]:[ラズパイ保存先(例:/home/ユーザ名/.ssh]ラズパイ側で下記コマンドを実行します。
cd ~/.ssh/ cat id_ed25519.pub >> authorized_keys chmod 600 authorized_keys - 公開鍵認証での接続を確認
PC側で下記コマンドを実行し、公開が気認証でSSH接続をする。
ssh [ラズパイユーザ名]@[ラズパイのIPアドレス] -p [ポート番号]ラズパイのユーザ名が表示されれば成功です。
- 認証設定の保存
上記1~3により公開鍵認証でのSSH接続は完了していますが、接続の度に下記コマンドを入力するのは面倒です。ssh [ラズパイユーザ名]@[ラズパイのIPアドレス] -p [ポート番号]
そこで、.sshフォルダにconfigファイルを作る事で、下記短いコマンドでSSH接続が出来るようになります。ssh [ホスト名]
PC側で下記のようなファイルをメモ帳で作成し、「config」という名前で"C:\Users\[Windowsのユーザ名]\.ssh"に保存。保存後に名前の変更で.txtを削除します。
※ホスト名は任意でOKです。 -
認証設定の保存後の接続確認
PC側で下記コマンドを実行し、公開鍵認証のパスワードを入力します。ssh [ホスト名]ラズパイのユーザ名が表示されれば成功です。
まとめ:安心してモノづくりを楽しむために
「セキュリティ」と聞くと難しそうに感じますが、この2つを行うだけでラズパイの安全性は格段にアップします。
せっかく作った便利なツールが、知らない誰かに操作されてしまうのは悲しいですよね。 まずは玄関の鍵をしっかり掛けて、安全で楽しいラズパイライフを送りましょう!