技術メモ

【2023年版】Raspberry Pi(ラズパイ)をSSH接続(パスワードと公開鍵)でリモートアクセスする方法

ラズパイ raspberry pi

 

どうも、白夜霧(@KiRi_Byakuya)です。

 

今回は、Raspberry Pi(通称:ラズパイ)のSSH接続方法の覚書です。

 

 

Raspberry Pi(ラズパイ)でSSH接続をしてリモートアクセスする方法

Raspberry Pi(ラズパイ)でSSH接続をしてリモートアクセスする方法

 

本記事では一番ポピュラーな方法として、Tera Termを使ったSSH接続方法を記載します。

 

ココに注意

  • 本記事では、既にラズパイがネットワークに接続できる状態であることを前提に説明します。
  • 公式の「Raspberry Pi Imager」を使えば、OSをSDに書き込む時点でWiFiの設定が可能なのでオススメです。

 

Raspberry Pi(ラズパイ)のSSH接続で準備するもの

 

今回の記事で準備するものは主に下記の2つ。

  • Raspberry Pi
  • Tera Term

 

私の環境は以下の通りです。

  • Windows 11 Home
  • Raspberry Pi 3以上

 

ラズパイのIPアドレスを確認する方法は?

ラズパイとSSH接続する際、必ずIPアドレスの確認が必要になります。IPアドレスの確認は下記を参考にして下さい。

ラズパイ raspberry pi
【2023年版】ラズパイで固定IPアドレスを設定する方法

Raspberry PI(ラズパイ)のIPアドレスを固定する方法の覚書

続きを見る

 

 

Raspberry Pi(ラズパイ)のSSH接続を有効にする

パズル,ピッタリ

 

「Raspberry Pi Imager」でSSH接続を有効にする方法

公式からDLできる「Raspberry Pi Imager」でOSをストレージに書き込む段階から、SSH接続を有効に出来ます。

 

Imagerを起動して、右下の歯車アイコンをクリック。

raspberry pi imager 設定

 

「詳細な設定」の『SSHを有効化する』にチェックを入れておけば、初期状態からSSH接続が有効になります。

raspberry pi imager SSH有効化

 

「ラズパイ」のデスクトップ画面からでSSH接続を有効にする方法

デスクトップ画面の左上のスタートメニュー→「Preferences(環境設定)」→「Raspberry Pi Configuration(Raspberry Piの設定)」をクリック

raspberry pi desktop ssh enable

 

Interfaces(インターフェイス)」のSSHを有効にして「OK」を押せば有効になります。

raspberry pi desktop ssh enable

 

ターミナル(端末)からでSSH接続を有効にする方法

下記コマンドを実行して、設定画面「Raspberry Pi Software Configuration Tool」を開く。


sudo raspi-config

 

3 Interface Options」を選択してEnter。

ターミナル(端末)からでSSH接続を有効にする方法 / raspi-config - interface options

 

12 SSH」を選択してEnter。

ターミナル(端末)からでSSH接続を有効にする方法 / raspi-config - SSH

 

... SSH is enabled!」という画面から「Yes」選択してEnter。

ターミナル(端末)からでSSH接続を有効にする方法 / raspi-config - SSH Enabled

 

The SSH Server is enabled」が表示されたら、SSHの有効化が完了。

ターミナル(端末)からでSSH接続を有効にする方法 / raspi-config - The SSH Server is enabled

 

Tera Term(テラターム)のインストール方法

Tera Termをダウンロード

最新版のダウンロードはコチラから可能。現時点では4.106が最新。

Tera Termをダウンロード

 

セットアップに使用する言語の選択

ダウンロードしたexeファイルを実行。実行すると言語の選択が表示されるので、任意の言語を選択して下さい。※日本で問題なし。

tera term セットアップに使用する言語の選択

 

使用許諾契約書の同意

同意する」で次へ

tera team 使用許諾契約書の同意

 

インストール先の指定

特に理由がなければ、デフォルトのままで次へ。

tera term インストール先の指定

 

コンポーネントの選択

基本的にはデフォルトのままでOK。次へ。

tera term コンポーネントの選択

 

言語の選択

任意の言語を選択して次へ。

tera term 言語の選択

 

プログラムグループの指定

デフォルトのまま次へ。

tera term プログラムグループの指定

 

追加タスクの選択

基本的にはデフォルトのままでOK。次へ。

tera term 追加タスクの選択

 

インストール準備完了

インストール」をクリックして実行。

tera term インストール準備完了

 

下記画面が表示されれば、インストールは完了です。

tera term インストール完了

 

 

Tera TermでRaspberry Pi(ラズパイ)とパスフレーズ(IDとパスワード)でSSH接続する方法

コード,Programming,プログラミング

 

Tera Term:新しい接続

Tera Termを起動させてTCP/IPを選択→「ホスト」の部分にラズパイのIPアドレスを入力。その他設定は基本的にはデフォルトのままでOK。

Tera Term:新しい接続

 

  • ホスト:ラズパイに割り当てられているIPアドレス
  • サービス:SSH
  • TCPポート:22
  • SSHバージョン:SSH2
  • IPバージョン:AUTO

 

SSH認証

ユーザー名」と「パスワード」に、ラズパイにログインするために設定した「ユーザーID」と「パスワード」をそのまま入力して「OK」を押す。

tera term SSH認証 パスワード

 

接続成功

下記画像のような表示になれば、ラズパイとのSSH接続は成功です。

tera term ssh 接続成功例

 

Tera TermでRaspberry Pi(ラズパイ)と秘密鍵と公開鍵でSSH接続する方法

プログラミング

 

公開鍵と秘密鍵を作成する

コマンドプロンプト」または「PowerShell」を起動して下記を実行。


ssh-keygen -t rsa -b 4096

 

上記コマンドを実行すると、対話型で入力が求められます。

SSH接続 / 公開鍵と秘密鍵を作成する

 

ココがポイント

  • ① 作成する公開鍵と秘密鍵の保存場所とファイル名 ※入力なしのEnterでOK
  • ② パスフレーズ
  • ③ ②と同じパスフレーズ

 

作成した公開鍵と秘密鍵はデフォルトで「PC > Cドライブ > ユーザー名 > .ssh」に保存されます。「id_rsa」が秘密鍵。「id_rsa.pub」が公開鍵です。

SSH接続 / 公開鍵と秘密鍵の保存場所

 

さらに詳しく

  • ssh-keygen.exe」はWindows 10以上で標準で対応しています。
  • 今回はRSA鍵を作成していますが、 セキュリティの高いEd25519鍵など、他の鍵についてはこちらの記事を参考にさせて頂きましたm(_ _)m

 

「ssh-keygen」のオプション設定は下記を参照。

 

Git Bashで公開鍵と秘密鍵を作成する場合は、下記記事を参考にしてください。

【メモ】TortoiseGitからGithubにプッシュ(Push)する手順と方法【画像付き】

TortoiseGitからGithubへPushをする際の自分用覚書。

続きを見る

 

公開鍵をラズパイへ転送する

WindowsからSCPコマンドでファイルをコピーする場合は、公開鍵(id_rsa.pub)があるフォルダへ移動→右クリック→「ターミナルで開く」を選択。

公開鍵をラズパイへ転送する

 

KiRi

こうすることで「.ssh」へ移動した状態でターミナルが開きます。

 

ターミナル(PowerShell)に下記SCPコマンドを実行します。


scp [コピーするファイル名] [ラズパイのユーザー名]@[ラズパイのIP]:[転送先のラズパイのディレクトリパス]

 

私の環境の場合、下記のようになります。


scp id_rsa.pub kiri@192.168.0.9:~
kiri@192.168.0.9's password:
id_rsa.pub                                              100%  748   365.4KB/s   00:00

 

KiRi

任意のフォルダへコピーするのが一番てっとり速いですが、アクセス権限の問題(Permission denied)が面倒なので、現状では一旦ホームディレクトリへコピーしています。

 

ココに注意

初回ログインの場合、下記ような接続確認が表示されます。yesと入力してEnterを押せば次回からは表示されません。


The authenticity of host '192.168.0.9 (192.168.0.9)' can't be established.
ED25519 key fingerprint is SHA256: (省略).
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Please type 'yes', 'no' or the fingerprint:

 

次にラズパイにコピーした公開鍵を、ホームディレクトリから「.ssh」フォルダを作成して移動させます。


sudo mkdir .ssh
sudo mv id_rsa.pub .ssh

 

移動させた公開鍵の名前を「authorized_keys」に変更。


cd .ssh
sudo mv id_rsa_pi.pub authorized_keys

 

 

設定ファイルを「公開鍵での接続許可」に書き換える

設定ファイル「sshd_config」を開く。


sudo nano /etc/ssh/sshd_config

 

AuthorizedKeysFile」をコメントを解除して公開鍵認証を有効にします。


# 下記のコメントを化を公開鍵による接続を有効にする
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2

 

SSH接続 公開鍵を許可

 

編集したファイルを保存して、一旦ラズパイを再起動。


sudo reboot

 

公開鍵認証でSSH接続する

tera term 公開鍵認証でSSH接続する

 

Tera Termで公開鍵を使ってSSH接続します。ログイン操作はパスフレーズ接続と同じ画面で行います。

 

基本的にはパスワード接続と同じです。違うのは「パスフレーズ」には秘密鍵を作成する際に入力したパスフレーズを入力。

 

かつ、認証方式は「RSA/DSA/ECDSA/ED25519鍵を使う」を選択して、作成した秘密鍵を選択して「OK」を押す。

 

ログインが成功すれば、パスフレーズ接続した時と同じ状態になります。これで秘密鍵と公開鍵によるログインの設定はとりあえず完了です。

 

 

SSH接続の設定を変更してセキュリティを向上させる

セキュリティ

 

ここから記載する内容は、公開鍵でログインできることを確認できたに設定して下さい。

 

パスフレーズ(パスワード)接続を無効化する

セキュリティを上げるためにパスワードによる接続を無効化します。

 

設定ファイル「sshd_config」の「PasswordAuthentication」をnoに書き換えることでパスワード接続は無効化出来ます。


# パスワード接続を無効化
PasswordAuthentication no

 

パスフレーズ(パスワード)接続を無効化する

 

公開鍵のアクセス権限(パーミッション)を変更

現状のままだと鍵に誰だれでもアクセス可能な状態です。鍵を保存しているフォルダと鍵データの権限を変更します。


sudo chmod 700 .ssh
sudo chmod 600 .ssh/authorized_keys

 

  • 700:管理者のみ「実行」「読み取り」「書き込み」が可能。
  • 600:管理者のみ「読み取り」「書き込み」が可能。

 

rootアカウント(管理者)でのSSH接続によるログインの無効化

rootアカウントでSSH接続出来ないように無効化します。


# rootアカウントによるSSH接続を無効化
PermitRootLogin no

 

rootアカウント(管理者)でのSSH接続によるログインの無効化

 

SSH接続するポート番号を変更する

SSHで接続するポート番号をデフォルトの22から別の番号に変更します。変更可能範囲は0~65535。一般的には1024以上の番号が推奨されています。


# SSHで接続するポート番号を変更
Port 12345

 

SSH接続するポート番号を変更する

 

参考になったらポッチとお願いしますm(_ _)m


プログラムランキング

  • この記事を書いた人

白夜霧

現役のIT土方・社畜・カフェイン中毒者。趣味のために生きる。サラリーマンの雑記ブログ。さり気なくYouTuberデビューしました\(^o^)/

-技術メモ
-, , , , , ,

© 2024 My,WebNote - 備忘録 -