0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AndroidスマホからWindows PCへSSH接続してClaude Codeを動かす手順

Last updated at Posted at 2026-01-17

この記事でできること

外出先から Androidスマホで自宅/作業用の Windows PC にSSH接続し、WSL2(Ubuntu)上でClaude Code を実行できるようにします。

スマホから開発する手段としては、最近 Claude Code on the web も登場しました。ただ、利用者が多いからなのか、まだリサーチプレビュー(ベータ)段階だからなのか、動作がやや重く感じることがあります。

一方で、本記事の環境を構築すれば、スマホからでも ほぼ遅延を感じずに Claude で開発できるようになります。現時点で「スマホで快適に開発したい」場合おすすめですので、お時間がございましたらお試しいただければ、と思います。

構成は以下の通りです:
[Android] → [Termius] → [Tailscale] → [Windows(OpenSSH)] → [WSL2(Ubuntu)] → [Claude Code]

所要時間の目安:初回セットアップ 約2〜3時間
セットアップ完了後は、スマホから 1タップでSSH接続できるようになります。

参考にした記事

※下記「iPhoneからMacへ接続してClaude Codeを実行する」内容の記事を参考にしました。
本記事はその内容をベースに、「AndroidからWindows PCへ接続してWSL2(Ubuntu)上でClaude Codeを実行する」手順を紹介しています。

前提

  • Windows 10/11
  • WSL2 を使える状態(最終的にUbuntuを入れる)
  • Android に Termius を入れられる
  • Tailscale アカウントで Windows と Android がログインできる

💡 本記事のWSL操作は、スマホ(TermiusでSSH接続した先)で実行しても、PC上で実行してもOKです。
どちらで操作しても、最終的にWindows→WSL2(Ubuntu)上でClaude Codeが動けば目的は達成できます。

手順

1. Windows:Tailscaleを入れてログインする

  1. WindowsにTailscaleをインストール

    下記から「Download Tailscale for Windows」をクリックしてダウンロードし、インストールしてください。
    https://tailscale.com/download

  2. ログイン(Google/Microsoft/GitHub等)
  3. Tailscale IP(100.x.x.x) を控える
tailscale ip -4

(重要)ここから先は「管理者PowerShell」で実行します

以降の手順では、OpenSSH Server の追加やサービス設定、権限(ACL)の変更を行います。
これらは 管理者権限 が必要になるため、以下の手順で 管理者としてPowerShell(またはWindows Terminal) を開いてください。

  1. Win キーを押して検索を開く
  2. 「PowerShell」または「Terminal」と入力
  3. 表示されたアプリを右クリック → 「管理者として実行」
  4. ユーザーアカウント制御(UAC)が出たら 「はい」

2.Windows:OpenSSH Server(SSHの受け口)を有効化する

管理者PowerShellで:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
Get-Service sshd

💡 Add-WindowsCapability は環境によって数十秒〜数分かかることがあります。
実行中は待つだけなので、別のターミナル(管理者)を開いて並行作業してOKです。

3. Windows:WSL2 と Ubuntu を準備する(未導入の場合のみ)

💡 WSL2/Ubuntu の導入は 最初に一度だけPC側で実施しておくのがおすすめです。
(導入後の操作は、スマホ(SSH経由)でもPCでもどちらでもOK)

管理者PowerShellで:

wsl --install

特定のUbuntuを入れたい場合(例:24.04):

wsl --install -d Ubuntu-24.04

4. Android:Tailscaleを入れて同じアカウントでログイン

  • PlayストアでTailscaleをインストール
  • Windowsと同じアカウントでログイン
  • 必要なときだけONでもOK(バッテリー節約)

5. Android:TermiusでSSH鍵(ED25519)を作る

Termius内で作成:

  • Keychain / Vault / Keys など → Generate key
  • Type: ED25519
  • Public key(ssh-ed25519 ...)をコピーしておく

【公式】SSH Key 生成手順の紹介(Desktop / iOS / Android 説明あり):
https://termius.com/documentation/generate-ssh-key

6. Windows:公開鍵(authorized_keys)の保存場所を決める

PowerShellで:

net localgroup administrators

この一覧に 自分のユーザー が入っている場合、次の「Aパターン」になる可能性が高いです。

Aパターン:ユーザーがAdministrators所属のとき(鍵の保存先が違う)

管理者グループ所属の場合、OpenSSHが 一般的な ~\.ssh\authorized_keys を見ず
C:\ProgramData\ssh\administrators_authorized_keys を参照する構成になっていることがあります。

A-1. .txt事故を防いで編集(重要)

⚠️ administrators_authorized_keys拡張子なし のファイル名である必要があります。
Notepadで保存するときに administrators_authorized_keys.txt になってしまうと、OpenSSH が参照しないため
鍵認証が失敗します(例:Permission denied (publickey))。

手順(おすすめ:先に空ファイルを作ってからNotepadで開く)
  1. まず、拡張子なしのファイルを PowerShellで先に作成します:

    New-Item -ItemType File -Force "C:\ProgramData\ssh\administrators_authorized_keys"
    
  2. 作成したファイルを そのままNotepadで開く(この方法だと .txt が付く事故が起きにくい)

    notepad "C:\ProgramData\ssh\administrators_authorized_keys"
    
  3. Termiusでコピーした Public key(ssh-ed25519 ... で始まる1行) を貼り付けて保存します

    • 1行=1鍵(改行が増えすぎないように注意)
      ちゃんとできたか確認(ファイル名が完全一致しているか)
    dir "C:\ProgramData\ssh" -Force | findstr administrators_authorized_keys
    

    もし .txt を作ってしまった場合(リネームで復旧)

    Rename-Item "C:\ProgramData\ssh\administrators_authorized_keys.txt" "C:\ProgramData\ssh\administrators_authorized_keys"
    
A-2. ACL(権限)を設定(icaclsは1行推奨)

改行(バッククォート)や /grant の書き方で事故るので 1行で実行:

icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "NT AUTHORITY\SYSTEM:F" "BUILTIN\Administrators:F"

確認:

icacls "C:\ProgramData\ssh\administrators_authorized_keys"
A-3. sshd再起動
Restart-Service sshd

Bパターン:ユーザーがAdministratorsではないとき(一般的な保存先)

この場合は普通にここ:
C:\Users\<ユーザー>\.ssh\authorized_keys

作成と権限:

mkdir "C:\Users\user\.ssh" -Force | Out-Null
notepad "C:\Users\user\.ssh\authorized_keys"
icacls "C:\Users\user\.ssh" /inheritance:r /grant "user:F" "SYSTEM:F" "Administrators:F"
icacls "C:\Users\user\.ssh\authorized_keys" /inheritance:r /grant "user:F" "SYSTEM:F" "Administrators:F"
Restart-Service sshd

※ user は自分のWindowsユーザー名に置き換える

7. Android(Termius):Hostを作ってSSH接続する

Host設定(例):

  • Host: WindowsのTailscale IP(例:100.x.x.x)
  • Port: 22
  • Username: Windowsユーザー名(例:user)

Termiusに入力するユーザー名の確認

PowerShellで:

whoami

例:DESKTOP-XXXXXXX\user と出た場合、ユーザー名は user です(\ の右側)。

初回接続時に

The authenticity of host ... can't be established

が出たら、初回ならContinueでOK(known_hostsに登録される)。

参考(英語・スマホ画面による説明あり。必要に応じてブラウザ翻訳でご確認ください):
https://davidlim2007.wordpress.com/2022/08/28/explore-secured-shell-ssh-part-5-working-with-android/

💡 Termiusの文字サイズや見た目は、アプリの Settings → Font & colours で変更可能です。

8. SSH接続後:WSL2(Ubuntu)へ入る

SSHでWindowsに入った状態で:

wsl

9. Ubuntu:Claude Code をインストールして起動する

ここからは WSL(Ubuntu) 側で実行します(WindowsのPowerShellではありません)。

  1. 事前準備(curl が無ければ入れる)

    sudo apt update
    sudo apt install -y curl
    
  2. Claude Code をインストール

    curl -fsSL https://claude.ai/install.sh | bash
    
  3. インストール確認

    which claude
    claude --version
    
  4. claude: command not found の場合(PATHが読まれていない対処)
    Claude Code は ~/.local/bin/claude に入る想定なので、~/.local/bin を PATH に追加します。

    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.profile
    source ~/.bashrc
    hash -r
    which claude
    claude --version
    
  5. 起動

    claude
    

10. 仕様駆動(cc-sdd / Spec Kit)もスマホから回せる

Claude Codeが動けば、同じターミナルからcc-sddやSpec Kitを呼び出して
仕様駆動の流れも作れます(詳細は各ツールのネット情報をご参照ください)。

詰まりポイント集

1. WindowsはPINでログインできるのに、Termius(SSH)でログインできない / パスワードを忘れた

症状

  • WindowsではPINでサインインできている
  • Termius から SSH 接続しようとしても、PINを入れても通らない
  • いざ「パスワードで試そう」と思ったら、Windowsアカウントのパスワードを忘れてしまって詰まる

原因

Windowsの PIN は端末ローカル用の認証であり、SSHの「Password認証」で求められる Windowsアカウントのパスワードとは別物です。
そのため、PINを入力してもSSHには通りません。

対処(ローカルアカウントの場合)

パスワードを忘れてしまった場合は、Windows側でパスワードを再設定して復旧できます。

管理者として起動した PowerShell / コマンドプロンプトで、以下を実行します:

net user <ユーザー名> *

2.WSLは“Windowsユーザー単位”で見え方が変わることがある

別ユーザーでSSHログインすると、wsl で

  • “ディストリがありません”

となる場合があります。

→ Windowsの普段使いユーザーでSSHする 方針とすると詰まりが減り、良いと思います。

まとめ

  • 自宅にインターネット接続されたPC(起動中)があれば、外出先からでもスマホでSSH接続して開発環境に接続可能です。
  • 最初だけセットアップに手間はかかりますが、設定が終われば以後はスマホからほぼ1タップでSSH接続して開発できます。

補足

なぜTailscaleを挟むのか

SSHをそのままインターネットに公開(ポート開放)すると、スキャンや総当たりの対象になりやすいです。
Tailscaleを挟むと、自分のTailnet(同一アカウント配下の端末同士) で安全に接続できます。
外部に攻撃されない自分専用の通り道を作るためのツール、という感じです。

なぜWSL2(Ubuntu)を挟むのか

Windowsでも利用できますが、公式ドキュメント上「Windowsは WSL(WSL1/WSL2)または Git for Windows を使用」という形で案内されているためです。

Claude Code は Windows PowerShell でのインストール方法も用意されています。
ただし、周辺ツール(cc-sdd / Spec Kit など)やシェル操作を含めて「Linux前提」の手順が混ざる場合があるので、
本記事のようにWSL2(Ubuntu)に寄せた方が再現性が高いという位置づけです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?