Raspberry Pi SSHのセキュリティを強化する

  • このエントリーをはてなブックマークに追加
Raspberry Pi セキュリティ強化

Raspberry Pi 3 SSHのセキュリティを強化する方法として、RSA公開鍵認証により接続し通信するようSSHサーバの環境を設定します。

作業の流れ

以下に作業の流れを示します。

  1. Raspberry Piで鍵ペア(公開鍵と秘密鍵)ファイルを作成します。
  2. 秘密鍵ファイルをPCへ送信し保存します。
  3. Raspberry PiのSSHサーバ設定ファイルを変更します。
  4. PCからRaspberry PiへSSH(RSA公開鍵認証)で接続します。

それでは、作業に流れに沿って順番に作業を進めていきます。

鍵ペア(公開鍵と秘密鍵)ファイルを作成する

まず、鍵ペア(公開鍵と秘密鍵)ファイルを作成します。鍵ベアはPC側でもRaspberry Pi側どちらでも作成することができますが、ここでは、Raspberry Pi側で作成します。

  • 「ssh-keygen」コマンドで、鍵ペアを作成します。
  • 「Enter passphrase」の問い合わせに対し、鍵ファイルに対するファスフレーズを入力します。パスフレーズの入力は省略可能ですが、他者に鍵ファイルの盗用防止のためパスフレーズは入力しておいたほうが良いでしょう。

「.ssh」ディレクトリに公開鍵「id_rsa.pub」ファイルと秘密鍵「id_rsa」ファイルが作成されます。

秘密鍵ファイルをPCへ保存する

作成した鍵ペアのうち、秘密鍵「id_rsa」ファイルをPCへ転送し適当な場所へ保存します。本来、秘密鍵は記録媒体にコピーし盗聴されない安全な方法で受け渡すこととされていますが、ここではプライベートなネットワークであり、秘密鍵をFTPでPCへ転送しています。

  • PCからRaspberry PiへFTPで接続し、秘密鍵「id_rsa」ファイルをPC側へ転送し保存します。

SSHサーバ設定ファイルを変更する

次に、SSHをRSA公開鍵認証で接続するよう、SSHサーバ設定ファイルを変更します。

  • root権限で、「sshd_config」ファイルを編集します。

  • 「Port 10022」SSH(RSA公開鍵認証)接続用にポート番号を変更します。(デフォルトは[22])

  • 「PermitRootLogin no」rootログインを禁止する。(デフォルトは[yes])
  • 「RSAAuthentication yes」RSA認証を有効にする。(デフォルトは[no])
  • 「PubkeyAuthentication yes」公開鍵認証を有効にする。(デフォルト[no])
  • 「AuthorizedKeysFile %h/.ssh/id_rsa.pub」公開鍵のディレクトリ・ファイル名を指定する。(デフォルトはコメント)

  • 「PasswordAuthentication no」パスワード認証を無効にする。(デフォルトは[on])
  • 更新した「sshd_config」ファイルを保存します。

  • root権限で、SSHサービスをリスタートします。

SSH(RSA公開鍵認証)で接続する

それでは、Tera TermでPaspberry PiにSSH(RAS暗号化)により接続します。

  • TCPポートは、先ほどsshd-configで変更した値を指定します。

  • RSAを選択し、秘密鍵のファイルを指定します。
  • ユーザ名と秘密鍵のパスフレーズ(ユーザ名に対するパスフレーズではありません)を入力します。
  • 「OK」ボタンをクリックします。

Raspberry PiへSSHでログインできました。

以上で、RSA公開鍵認証によるSSH接続の環境設定が完了しました。これで、インターネットでも安全にSSH接続できるようになります。

 

SNSでもご購読できます。

コメントを残す

*