Android → ラズパイ → Windows PC cmdをリモート操作する環境構築ガイド
いったん出来たので。備忘録。
使いながら改良はしていくけど、とりあえずメモ。
参考にした情報
①Raspberry PiでリモートからアクセスできるAIエージェントを作る
https://zenn.dev/karaage0703/articles/881425bd61a670
②Raspberry Pi 5 発売開始!どれ買う?
https://kotamorishita.com/raspberry-pi-5-japan/
AndroidデバイスからRaspberry Piを中継し、Windows PCのコマンドライン(CLI)を安全かつ効率的にリモート操作する手順
外出先からスマートフォンでWindows PCのPowerShell/cmdを操作し、Claude Codeの起動やファイル操作が可能になります。
📚 目次
- 目的と全体像
- 必要なものと購入ガイド
- Raspberry Pi 5 初回起動と基本設定
- Windows PC側の設定:OpenSSH Serverのインストール
- モバイルからのリモート操作手順
- 基本的な使い方と運用方法
- 実体験:遭遇したトラブルと解決策
- 省電力設定とセキュリティ強化
- 費用対効果と今後の改善点
1. 目的と全体像
本ガイドの目的は、AndroidデバイスからRaspberry Piをセキュアな中継点として利用し、ご自宅のWindows PCのコマンドライン(cmdまたはPowerShell)を遠隔リモート操作する、最適化された環境を構築することです。グラフィカルなリモートデスクトップ接続で発生しがちな帯域幅のオーバーヘッドやモバイル環境での入力遅延を回避し、テキストベースの操作に特化することで、シンプルで安定したリモート環境を提供します。
特に、SSHプロトコルとTailscale VPNの組み合わせは、その効率性、セキュリティ、そしてセットアップの容易さから、モバイル環境でのCLIリモート操作において最も理想されるアプローチです。MoshプロトコルをサポートするSSHクライアントを使用することで、ネットワークの遅延や接続の不安定による影響を最小限に抑え、快適な操作を実現します。
全体的な接続フロー
Androidデバイス(モバイル)
↓ (Tailscale VPN & Mosh/SSHクライアントアプリ)
Raspberry Pi(中継点 - コマンドラインの操作)
↓ (Tailscale VPN & SSH接続)
Windows PC(操作対象 - コマンドプロンプト/PowerShell)
2. 必要なものと購入ガイド
このリモート操作環境を構築するために必要なハードウェアとソフトウェア、および購入時の注意点について解説します。
2.1. 必須ハードウェアと周辺機器
カテゴリー | アクセサリー名 | 推奨仕様/詳細 | 目的/重要性 | 購入時の注意点 |
---|---|---|---|---|
本体 | Raspberry Pi 5 | 8GBモデル推奨 | 24時間稼働、安定した中継点 | 初期コストがやや高い、発熱対策が必須 |
電源 | USB-C電源アダプター | 5.1V/5.0A(公式推奨) | 安定稼働、データ整合性 | 電力不足は不安定の元、信頼できる製品を選択 |
ストレージ | microSDカード | UHS-I U3/V30 32GB以上 | OSとデータ保存、パフォーマンス | 低速なカードはボトルネックになる、高速タイプ推奨 |
冷却 | ファン/Active Cooler | Raspberry Pi 5用(公式Active Cooler推奨) | 性能維持、長寿命化 | 高負荷運用では必須、サーマルスロットリング防止 |
初期設定 | ディスプレイ | HDMI対応(一時的) | 初期設定、トラブルシューティング | リモート設定完了後は不要、一時的な準備でOK |
初期設定 | USBキーボード | USB接続(一時的) | 初期設定、コマンド入力 | リモート設定完了後は不要 |
初期設定 | USBマウス | USB接続(一時的) | 初期設定、GUI操作 | リモート設定完了後は不要 |
初期設定 | HDMIケーブル | micro HDMI to HDMIケーブル | Raspberry Piとモニター接続用 | Raspberry Pi 5はmicro HDMIポートです |
PC | Windows PC | Windows 10/11 Pro/Enterprise | 操作対象 | OpenSSH Serverが利用可能であること、常時起動が必要 |
2.2. 必須ソフトウェア
- Raspberry Pi OS (64-bit): Raspberry Piにインストールする OS
- Tailscale: Raspberry Pi、Windows PC、Androidデバイス間で安全なVPNを構築するゼロコンフィグVPNソフトウェア
- byobu (またはtmux): Raspberry Pi上でSSHセッションが切れてもコマンドラインセッションを維持するツール
- OpenSSH Server (Windows): Windows PCがSSH接続を受け入れるためのサーバーソフトウェア
- Termius または JuiceSSH (Androidアプリ): AndroidデバイスからRaspberry PiへMosh/SSH接続するためのクライアントアプリ
2.3. 購入時のヒント
- 信頼できる販売店から購入する: Amazonなどの大手オンラインストア、Raspberry Piの正規代理店(Switch Scienceなど)を利用しましょう
- セット販売の確認: スターターキットも便利ですが、電源やSDカードの仕様を満たしているかは確認してください
- 保証とサポート: 正規販売店からの購入は、製品保証や技術サポートの面で安心です
3. Raspberry Pi 5 初回起動と基本設定
このセクションでは、Raspberry Piを初めて起動し、リモート操作に必要な基本設定を行うまでの手順を解説します。この段階では、モニター、キーボード、マウスをRaspberry Piに接続して直接操作します。
3.1. ハードウェアの接続
電源を入れる前に、すべての周辺機器を正しく接続しましょう。
-
microSDカードの挿入
OSが書き込まれたmicroSDカードを、Raspberry Pi本体のSDカードスロットにカチッと音がするまでしっかりと差し込みます。 -
モニターの接続
micro HDMI to HDMIケーブルを使って、Raspberry Piのmicro HDMIポートとモニターのHDMI入力ポートを接続します。Raspberry Pi 5にはmicro HDMIポートが2つありますが、どちらでも構いません。 -
キーボードとマウスの接続
USBキーボードとUSBマウスを、Raspberry Pi本体のUSBポートにそれぞれ接続します。 -
(オプション)アクティブクーラーの取り付け
アクティブクーラーを購入された場合は、Raspberry Pi 5の公式ドキュメントに従って取り付けます。これは電源投入前に行うのが一般的です。 -
電源アダプターの接続
他のすべての接続が完了していることを確認してから、最後に電源アダプターをRaspberry Pi本体のUSB-C電源ポートに接続します。
注意: Raspberry Pi 5には電源ボタンはありません。電源アダプターを接続すると、自動的に電源が入り、起動プロセスが開始されます。
3.2. 初回起動と初期設定ウィザード
電源が投入されると、モニターにRaspberry Piの起動画面が表示され、OSのロードが始まります。
-
起動画面の確認
数秒から数分で、Raspberry Piのロゴや起動メッセージが表示され、最終的にデスクトップ画面が表示されます。 -
初期設定ウィザードの開始
初めて起動する場合、通常は「Welcome to Raspberry Pi」という初期設定ウィザードが自動的に起動します。画面の指示に従って以下の設定を行います。- 国(Country): 「Japan」を選択します
- 言語(Language): 「Japanese」を選択します
- タイムゾーン(Timezone): 「Tokyo」を選択します
- パスワードの変更: デフォルトのユーザー名(通常はpi)のパスワードを設定します。セキュリティのため、必ず推測されにくいパスワードに変更してください
- 画面の境界(Screen Border): 通常は「No」を選択します
- Wi-Fiネットワークの設定: ご自宅のWi-Fiネットワークを選択し、パスワードを入力して接続します。これにより、Raspberry Piがインターネットに接続できるようになります
- SSH の有効化: この初期設定ウィザードの途中で、SSHを有効にするオプションが表示されます。ここで必ず「有効にする」を選択してください。通常、「有効」または「オン」の設定が示されます
- ソフトウェアの更新: ウィザードの最後にソフトウェアの更新を促される場合があります。「Skip」または「Next」を選択し、更新を実行することをお勧めします。これにより、システムが最新の状態に更新されます
-
再起動
設定が完了すると、再起動を促されます。指示に従って再起動してください。
手動でSSHを有効にする方法(初期設定時に設定し忘れた場合)
もし初期設定ウィザードでSSHを有効にするのを忘れてしまった場合でも、デスクトップ画面が表示された後で手動で有効にすることができます。
-
Raspberry Piの設定を開く
デスクトップ画面の左上にあるラズベリーパイのアイコン(アプリケーションメニュー)をクリックします。 -
「設定」→「Raspberry Piの設定」を選択します
-
SSHを有効にする
開いた「Raspberry Piの設定」ウィンドウで「インターフェース」タブをクリックします。
「SSH」の項目を探し、その横にあるラジオボタンまたはトグルスイッチを「有効」または「オン」に設定します(多くの場合、右側が有効です)。 -
設定を保存する
「OK」をクリックして設定を保存します。
これでSSHが有効になり、リモートからの接続が可能になります。
3.3. ターミナルの開き方とシステムアップデート
デスクトップ画面が表示されたら、コマンドを入力するための「ターミナル」を開いてみましょう。
-
ターミナルの起動
デスクトップ画面の左上にある、通常は黒い画面に「>」のようなアイコン(ターミナルアイコン)をクリックします。または、アプリケーションメニュー(画面左上のラズベリーパイのアイコン)から「アクセサリ」→「ターミナル」を選択します。黒いウィンドウが表示され、コマンドを入力できるようになります。
-
システムアップデートの実行(推奨)
ターミナルで以下のコマンドを1行ずつ入力し、Enterキーを押して実行します。これにより、Raspberry PiのOSとソフトウェアが最新の状態に更新されます。sudo apt update sudo apt upgrade -y
パスワードを求められたら、初期設定で設定したパスワードを入力してください(入力しても画面には表示されません)。
3.4. リモートアクセスツールの導入(TailscaleとByobu)
Raspberry Piをリモートから操作できるよう、TailscaleとByobuをインストールし、設定します。
-
Tailscaleのインストール
Raspberry Piのターミナルで以下のコマンドを実行します。curl -fsSL https://tailscale.com/install.sh | sh
このコマンドは、Tailscaleの公式インストールスクリプトをダウンロードし、実行するものです。
-
Tailscaleの起動とログイン
インストールが完了したら、以下のコマンドでTailscaleを起動します。sudo tailscale up
このコマンドを実行すると、ターミナルにURLが表示されます。そのURLをWebブラウザ(PCやスマートフォンなど)で開き、Tailscaleアカウントでログインしてください。これにより、Raspberry PiがあなたのTailscaleネットワークに参加し、他のTailscaleがインストールされたデバイスから安全にアクセスできるようになります。
-
byobuのインストールと起動
SSHセッションが切れても、Raspberry Pi上のプロセスが継続するように、byobuをインストールします。sudo apt install byobu -y
インストール後、ターミナルで以下のコマンドを実行してbyobuを起動します。
byobu
これにより、SSHセッションが切れても、byobuセッション内で実行しているコマンドは継続されます。後で再接続しても作業状態が保持されるため、リモート操作の利便性が向上します。
4. Windows PC側の設定:OpenSSH Serverのインストール
Raspberry PiからWindows PCのコマンドラインに直接SSH接続するために、Windows PCにOpenSSH Serverをインストールし、設定します。
4.1. PowerShellからOpenSSH Serverをインストールする(推奨)
Windowsの「オプション機能」が見つからない場合でも、PowerShellコマンドを使えば確実にOpenSSH Serverをインストールできます。
-
管理者としてPowerShellを起動する
Windowsのスタートメニューを右クリックし、「Windows PowerShell(管理者)」または「ターミナル(管理者)」を選択します。 -
OpenSSH Serverが利用可能か確認する(オプション)
PowerShellウィンドウで以下のコマンドを入力し、Enterキーを押します。'Name'が'OpenSSH.Server'の項目で'State'が'NotPresent'と表示されていればインストール可能です。Get-WindowsCapability -Online | Where-Object Name -like "OpenSSH.Server*"
-
OpenSSH Serverをインストールする
PowerShellウィンドウで以下のコマンドを入力し、Enterキーを押します。Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
成功すると、'Online : True'と表示されます。
-
OpenSSH Serverサービスを開始する
PowerShellウィンドウで以下のコマンドを入力し、Enterキーを押します。Start-Service sshd
次回以降のWindows起動時に自動的にサービスが開始されるように設定するには、以下のコマンドも実行します。
Set-Service -Name sshd -StartupType Automatic
-
WindowsファイアウォールでSSHポートを許可する
SSH接続に必要なポート(標準では22番ポート)をWindowsファイアウォールで許可します。PowerShellで以下のコマンドを実行します。New-NetFirewallRule -DisplayName "SSH Inbound" -Direction Inbound -Protocol TCP -LocalPort 22
このコマンドは、SSH接続のための受信ルールを自動的に追加します。
4.2. Tailscaleのインストールと設定(Windows PC)
Windows PCにもTailscaleをインストールし、Raspberry PiやAndroidデバイスと同じTailscaleネットワークに参加させます。
-
Tailscaleのダウンロードとインストール
Windows PCでTailscaleの公式サイトからWindows版クライアントをダウンロードし、インストールします。 -
Tailscaleにログインする
インストール後、Tailscaleアプリを起動し、Raspberry PiやAndroidデバイスで使用したのと同じTailscaleアカウントでログインします。これにより、Windows PCがTailscaleネットワークに参加し、Raspberry PiからTailscaleのプライベートIPアドレスでアクセスできるようになります。 -
Windows PCのIPアドレスを確認する
Raspberry Piから接続する際に必要になります。- Windowsの検索バーに「cmd」と入力し、「コマンドプロンプト」を開きます
- 以下のコマンドを入力してEnterキーを押します
ipconfig
表示される情報の中から、「IPv4 アドレス」の項目を探し、そのIPアドレス(例:'192.168.1.XXX')をメモしておきます。
4.3. SSH公開鍵認証の設定(推奨)
セキュリティを大幅に強化するため、パスワード認証ではなく公開鍵認証を設定することを強く推奨します。
-
鍵ペアの生成(Raspberry Pi上)
Raspberry Piのターミナルで以下のコマンドを実行し、SSH鍵ペアを生成します。パスフレーズを設定することを推奨します。ssh-keygen -t ed25519 -f ~/.ssh/windows_key
これにより、'~/.ssh/windows_key'(秘密鍵)と'~/.ssh/windows_key.pub'(公開鍵)が生成されます。
-
公開鍵をWindows PCにコピーする
生成した公開鍵(~/.ssh/windows_key.pub)をWindows PCの適切なディレクトリにコピーします。PowerShellで以下のコマンドを実行して、公開鍵をコピーすることもできます(Raspberry Piから):ssh-copy-id -i ~/.ssh/windows_key.pub WindowsPCのユーザー名@WindowsPCのIPアドレス
または、手動でコピーする場合、Raspberry Piで公開鍵の内容を表示し、Windows PCでファイルを作成して貼り付けます。
cat ~/.ssh/windows_key.pub
Windows PCで、'C:\Users\YourUsername.ssh'ディレクトリ(存在しない場合は作成)に'authorized_keys'ファイルを作成し、表示された内容を貼り付けます。
-
OpenSSH Serverの設定変更(Windows PC)
Windows PCで管理者としてPowerShellを開き、OpenSSH Serverの設定ファイル'sshd_config'を編集します。notepad C:\ProgramData\ssh\sshd_config
以下の行を探し、必要に応じて変更または追加します:
- '#PasswordAuthentication yes'の行を'PasswordAuthentication no'に変更(パスワード認証を無効化)
- '#PubkeyAuthentication yes'のコメントアウトを外し、'PubkeyAuthentication yes'にする
- '#Port 22'のコメントアウトを外し、別のポート番号に変更(例: 'Port 2222')- 推奨
ファイルを保存し、sshdサービスを再起動します。
Restart-Service sshd
5. モバイルからのリモート操作手順
ここからが、AndroidデバイスからのOSの操作の開始です。TailscaleとSSHクライアントアプリを使用します。
5.1. AndroidデバイスからのRaspberry Piへの接続
-
Tailscaleアプリのインストールとログイン
お使いのAndroidデバイスのアプリストアからTailscaleアプリを検索してインストールします。
アプリを起動すると、ログイン画面が表示されます。Raspberry PiやWindows PCでTailscaleを設定した際に使用したのと同じアカウント(Google、Microsoft、GitHubなど)を選択してログインします。
ログインが完了すると、AndroidデバイスもTailscaleネットワークに参加し、Raspberry Piと安全に通信できるようになります。 -
SSHクライアントアプリのインストールと設定(TermiusまたはJuiceSSH推奨)
AndroidデバイスにTermiusまたはJuiceSSHアプリをインストールします。これらのアプリはMoshプロトコルをサポートしており、モバイル環境での快適なCLI操作を実現します。
アプリのHostsセクションで新しいホストを追加します:設定項目:
- Alias: 任意の名前(例: My_RaspberryPi)
- Hostname: Raspberry PiのTailscale IPアドレス(例: '100.XXX.XXX.XXX'、Raspberry Piのターミナルで'tailscale ip'と入力して確認できます)
- Username: Raspberry Piのユーザー名(例: yasu)
- Authentication: パスワードまたは鍵認証(Raspberry Piに鍵を設定した場合)
設定を保存し、作成したホストをタップして接続します。
5.2. Raspberry PiからWindows PCへのSSH接続とCLI操作
AndroidデバイスからRaspberry Piのターミナルに接続できたら、次にRaspberry PiからWindows PCのコマンドプロンプトにSSH接続します。
-
Raspberry PiからWindows PCにSSH接続する
AndroidデバイスのSSHクライアントアプリでRaspberry PiにSSH接続しているターミナル上で、以下のコマンドを実行します。ssh -i ~/.ssh/windows_key -p [WindowsPCのSSHポート番号] WindowsPCのユーザー名@WindowsPCのIPアドレス
例:
ssh -i ~/.ssh/windows_key -p 2222 your_windows_username@192.168.1.---
'[WindowsPCのSSHポート番号]'は、Windows PCのOpenSSH Serverで設定したポート番号です(デフォルトは22)。
'WindowsPCのIPアドレス'は、Windows PC側の設定のステップで確認したIPアドレスを使用します。
- 初回接続時には、セキュリティ警告が表示される場合がありますので、'yes'と入力して続行します
- 鍵にパスフレーズを設定した場合は、パスフレーズを求められるので入力します(入力しても画面には表示されません)
接続が成功すると、Raspberry Piのターミナル上にWindows PCのコマンドプロンプト(cmd)またはPowerShellが表示され、直接コマンドを入力して操作できるようになります。
-
Windows PCのCLIを操作する
Windows PCのコマンドプロンプトが表示されたら、通常通りコマンドを入力し、実行することができます。
例えば、ファイルシステムの操作、アプリケーションの起動、スクリプトの実行など、あらゆるCLIベースのタスクを実行できます。
6. 基本的な使い方と運用方法
6.1. 日常的な接続手順
- Tailscale接続確認: AndroidのTailscaleアプリでConnected状態を確認
- Terminus起動: SSH接続アプリを開き、設定済みのRaspberry Pi接続をタップ
-
Windows PC接続: Raspberry Piから
ssh ユーザー名@IPアドレス
でWindows PCに接続 - 作業開始: Windows PCのコマンドライン操作が可能
6.2. 便利な使用例
-
ファイル操作:
dir
,type
,copy
などのコマンド - 開発作業: Claude Codeの起動、Git操作、コンパイル実行
-
システム管理:
tasklist
,systeminfo
でのシステム監視 -
ネットワーク確認:
ping
,ipconfig
での接続確認
7. 実体験:遭遇したトラブルと解決策
ここからは実際の構築作業で遭遇した問題と、その解決策を詳しく記載します。同じ問題に遭遇した際の参考にしてください。
7.1. Windows PC関連の主要なトラブル
❌ 問題1: OpenSSH Serverの標準インストールが失敗
エラーメッセージ: "コンポーネント ストアが破れています"
発生コマンド:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
原因: Windowsシステムファイルの破損、または特定バージョンでの非互換性
✅ 解決策: Chocolateyを使用した代替インストール
所要時間: 約20-30分
手順:
- Chocolateyのインストール
- OpenSSHのインストール:
choco install openssh
- サービス設定:
.\install-sshd.ps1
- 起動・自動起動設定
結果: 確実にOpenSSH Serverが動作するようになった
⚠️ 問題2: SSH鍵認証の設定で挫折
試行した内容:
- ssh-keygen でのRaspberry Pi側鍵生成
- ssh-copy-id コマンドでの公開鍵コピー(失敗)
- SCPでの手動公開鍵転送
- Windows側権限設定の調整
最終判断: 3時間以上試行したが、パスワード認証で妥協することに決定
理由: Tailscale VPN内での使用なので、セキュリティリスクは限定的
7.2. 接続コマンドの簡略化
✅ SSH設定ファイルによる劇的な改善
問題: 毎回 ssh ----@192.168.1.---
と長いコマンドを入力するのが面倒
解決策: ~/.ssh/config ファイルの作成
Host win
HostName 192.168.1.---
User -----
Port 22
結果: ssh win
だけで接続可能になった
7.3. 省電力設定での試行錯誤
💡 最適な省電力設定の発見
要件: SSH接続維持 + 普段使いの快適性 + 省電力
最終設定:
- モニター: 30分でオフ(普段使い考慮)
- スリープ: なし(SSH維持のため必須)
- HDD: 30分でオフ(省電力)
効果: 月額電気代を500-1000円削減しながらリモートアクセス維持
7.4. モバイル側の接続問題
⚠️ Tailscaleアカウント統一の重要性
問題: Android端末からRaspberry Piが見えない
原因: 異なるTailscaleアカウントでログインしていた
解決: 全デバイスで同一のGoogleアカウントを使用
教訓: アカウント統一は設定の最初に確実に行う
7.5. PowerShellでの操作ミス
❌ エラーメッセージのコピペミス
問題: PowerShellのエラーメッセージをコピー&ペーストしたら、エラー内容がコマンドとして実行されてしまった
対策: エラー発生時は新しいPowerShellセッションを開く
予防: 長いコマンドは事前にテキストエディタで準備
8. 省電力設定とセキュリティ強化
8.1. Windows PC省電力設定(実証済み)
powercfg /change monitor-timeout-ac 30
powercfg /change standby-timeout-ac 0
powercfg /change disk-timeout-ac 30
8.2. セキュリティ強化のポイント
- 基本セキュリティ: Tailscale VPN + SSH暗号化 + 強固なパスワード
- 追加対策: カスタムSSHポート、定期的なパスワード変更
- 監視: 接続ログの定期確認
9. 費用対効果と今後の改善点
9.1. 費用分析
項目 | 初期コスト | 月額コスト | 年間合計 |
---|---|---|---|
ハードウェア(Raspberry Pi等) | ¥20,800 | - | ¥20,800 |
電気代増加分 | - | ¥700-1,200 | ¥8,400-14,400 |
ソフトウェア | ¥0 | ¥0 | ¥0 |
合計 | ¥20,800 | ¥700-1,200 | ¥29,200-35,200 |
9.2. 今後の改善計画
🔧 Phase 2: 自動化と最適化
- SSH鍵認証: セキュリティ向上のため再挑戦
- Wake on LAN: 必要時のみWindows PC起動
- 監視ダッシュボード: システム状態の可視化
- バックアップ接続: Tailscale以外の接続手段確保
まとめ
これで、AndroidデバイスからRaspberry Piのコマンドラインを介してWindows PCのコマンドプロンプトを直接操作する、セキュアで効率的なリモートアクセス環境が整いました。
この設定により、場所を選ばずにご自宅のPC環境でCLIベースの作業を効率的に行うことができるようになります。
🎯 実現できた価値
- 場所の自由: 世界中どこからでもWindows PCにアクセス
- 作業効率: 外出先でのコーディング・システム管理が可能
- コスト効率: 商用サービスより安価で高機能
- 学習効果: SSH、VPN、システム管理の実践的スキル習得
- 拡張性: 今後の機能追加・改善の基盤完成
今後の運用に関する注意点
- セキュリティの維持: 定期的なパスワード変更とシステム更新
- Windows PCの常時起動: このシステムでは、Windows PCが常に起動している必要があります
- Tailscaleの管理: 各デバイスでのサービス稼働状況を定期確認
- バックアップ策: システム障害時の代替アクセス手段を準備