ラズパイ5を初めて買ってSSHとRaspberry Pi Connectのトークンで詰まった話
by yasuna
4 min read
この記事はAIエージェントと一緒に執筆しています
こんにちは!yasunaです!
前提として、やりたかったことは次のとおりです。 microSD に OS を焼いてラズパイに差し、同じネットワーク上の PC から SSH で接続できるようにすること。
結論から言うと、 クラスメソッド DevelopersIO の「Raspberry Piの初期設定をしてPCからSSH接続するまでの手順」のとおりにやったらできました。Raspberry Pi Imager の Remote access で Use public key authentication を選び、先に ssh-keygen で作った公開鍵をフォームに貼る、という流れです。モヒにゃぱんちゃんに教えてもらいました。
自分がずっと詰まっていたのは SSH のパスワード認証にこだわっていたことだったんです。EC2 とか普通に SSH して、公開鍵も何度も触ってきたはずなのに、ラズパイのセットアップだけパスワードに固執してしまっていて、こんなにハマるとは思いませんでした。小並感。
出来上がったときのポストです(埋め込みはやめて画像にしました)。

この記事の本文は、 上の手順に辿り着くまでの ばたばた試行錯誤の記録です。手順書としてはリンク先を優先してほしいです。SSH が5回以上つながらず、さらに Raspberry Pi Connect のトークン取得もどこにも書いてなくて詰まった、という忘却録です。
ばたばた試行錯誤の記録
SSH地獄編
まずConnectの前にSSHで詰まりました。5回ぐらい焼き直しました。
エラーの変遷
最初(1回目):Permission denied, please try again. → パスワード問題
次: kex_exchange_identification: read: Connection reset → SSHデーモンが即切断
その次: Permission denied (publickey,password). → 認証方法ごと弾かれる
さらに: Connection closed by 192.168.11.25 port 22 → 接続はできるけどすぐ切れる
どんどんエラーが変わっていって混乱しました。
原因
SDカードの bootfs に userconf.txt も ssh ファイルも存在していなかった。つまり Imagerの設定が全く書き込まれていなかったのが根本原因です。
原因はユーザー名に使えない文字を入れていたこと。Imagerで以下のエラーが出ていました:
The username must be lowercase and contain only letters numbers underscore and hyphens
このエラーが出たまま「保存」を押しても設定が保存されず、userconf.txt が生成されないままSDカードへ書き込まれていました。
Raspberry Pi Connect編
Raspberry Pi Connectは、公式のブラウザ経由リモートアクセスサービスです。外出先からラズパイのデスクトップやターミナルをブラウザだけで操作できます。ポートフォワーディングもファイアウォール設定も不要。
- 画面共有(Screen sharing)
- リモートシェル(Remote shell)
普通にGUIで使う場合(Auth Key不要)
「とりあえずリモートで繋ぎたいだけ」ならトークンは不要です。 Raspberry Pi ID(無料)だけでOK。
-
Raspberry Pi IDを作成(まだない場合)
- https://id.raspberrypi.com/sign-up にアクセスしてアカウント作成
- 確認メールのリンクをクリックして完了
-
ラズパイ側でRaspberry Pi Connectを有効化
- メニュー → 設定 → Raspberry Piの設定 → 「インターフェイス」タブ
- 「Raspberry Pi Connect」をオン
- 右上に表示されるアイコンをクリック → Sign In → Raspberry Pi IDでログイン
- デバイス名を入力して登録
-
ブラウザで接続
- https://connect.raspberrypi.com/devices にアクセス
- 登録したラズパイが表示される → 接続できる
Auth Key(認証キー)が必要なケース
以下のケースでは Auth Key が必要です。私はここで詰まりました。
- GUIなしで自動登録したい(ヘッドレス運用)
- Raspberry Pi Imagerで事前設定したい
- 複数台まとめて登録したい
取得手順:
- https://connect.raspberrypi.com/ にサインイン
- Settings → Auth keys → New をクリック
- 説明文と有効期限を入力して作成
rpuak_で始まる長いキーが一度だけ表示される → すぐコピー(二度と見えない)
使い方:
rpi-connect signin --auth-key=ここにコピーしたキー
Management API Access Token(個人には不要)
組織で複数デバイスをAPI管理したい場合のみ使います。Settings → API access tokens → New で生成。これも一度しか表示されないので即コピー。
まとめ(Connectまわり)
| やりたいこと | 必要なもの |
|---|---|
| GUIでリモート接続したいだけ | Raspberry Pi IDのみ |
| ヘッドレスで自動登録したい | Auth Key |
| APIで複数台管理したい | Management API Token |
- Auth Keyは有効期限あり。作ったら安全な場所に保存
- トラブル時は
rpi-connect statusで確認
参考
- クラスメソッド DevelopersIO「Raspberry Piの初期設定をしてPCからSSH接続するまでの手順」(SSH の手順はまずここ): https://dev.classmethod.jp/articles/raspberry-pi-pc-ssh/
- Raspberry Pi Connect 公式ドキュメント: https://www.raspberrypi.com/documentation/services/connect.html