IT

iOSデバイス(iPhone, iPad)からWSL上のClaude Codeにアクセスする方法

shimasan0x00

こんにちは,shimasan0x00(@shimasan0x00)です.

今回は,Tailscaleを使用することでWindows上のWSL内にインストールされているClaude Codeまで任意のiOSデバイスからアクセスする方法について共有します.

外から家のWindowsにアクセスしたいというケースが今後発生するだろうと思い準備しました.

iOSアプリのSSHクライアント,TerminalツールであるTermius, a-Shellを使用します.

AndroidでもWSL側の準備は同じですし,Android側で利用可能なSSHクライアント,Terminalツールを用意できれば再現可能です.

Claude Code自体については以下の記事にまとめています.

スポンサーリンク

環境

Clade CodeをインストールしているHOSTマシン

  • OS
    • Windows11 HOME
      • 24H2
  • WSL2
    • Ubuntu 22.04.5 LTS
  • Claude Code
    • 1.0.89

リモートアクセスする端末

  • iPad Pro
    • インストールアプリ
      • Tailscale
      • a-Shell
      • Termius

Tailscaleとは

TailscaleはVPNを容易に構築し,自身の持つデバイス間を安全に接続することができるサービスです.

VPN構築にユーザは煩わしい設定をする必要なく,Windows側ではインストールコマンド,iOSデバイス側ではアプリをインストールするだけでOKと画期的です.

Personal用途ならFREEで使用可能なのも嬉しい.

Sign upしておいてください.

WSLの準備

次にClaude CodeがインストールされているWSL側の準備を実施します.

SSH Serverの設定,Tailscaleのインストールを実施します.

SSH Serverの設定

Ubuntu側を最新状態にアップデートし,SSH Serverをインストールします.

sudo apt update
sudo apt install openssh-server

インストールしたら,設定ファイルを修正します.
修正するエディタはお好みでお願いします.

sudo vi /etc/ssh/sshd_config

設定値

SSHの初期設定確認のため,PasswordAuthenticationを有効化していますが,鍵の疎通もOKになったらPasswordAuthenticationはnoに設定します.

Port 2222
ListenAddress 0.0.0.0 
PermitRootLogin no 
PasswordAuthentication yes
PubkeyAuthentication yes 
MaxAuthTries 3

次に,秘密鍵を生成します.
生成したtermius_rsaの値はiOSデバイスにて使用するため控えておいてください.

ssh-keygen -t rsa -b 4096 -C "termius-remote" -f ~/.ssh/termius_rsa
cat ~/.ssh/termius_rsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/termius_rsa

では,ここまで準備できたのでSSH Server有効化します.

sudo systemctl enable ssh 
sudo systemctl restart ssh

以下のコマンドを実行して,2222 portでSSHを受け付けていればOKです.
Server listening on 0.0.0.0 port 2222.

sudo systemctl status ssh

Tailscaleの準備

Tailscaleの準備はとても簡単で以下のコマンドを実行してインストールするだけです.

curl -fsSL https://tailscale.com/install.sh | sh

インストールが終わったら以下のコマンドで起動し,自分のアカウントと紐づけましょう.

sudo tailscale up

TailscaleのWebサイトでもわかりますが,接続するデバイスのIPアドレスは以下のtailscale statusコマンドでもわかります.

 tailscale status
XXX.XXX.XXX.XXX  device-1      user   linux   -
YYY.YYY.YYY.YYY ipad-pro-11-gen-1    user   iOS     idle, tx 284400 rx 89960

# Health check:
#     - Linux DNS config not ideal. /etc/resolv.conf overwritten. See https://tailscale.com/s/dns-fight

WSLに接続するデバイスの準備

iOSデバイスで以下の3つのアプリをインストールしましょう.

a-ShellはiOSデバイス上でshellを実行できるアプリです.今回はSSHコマンドでの接続ができるか確認します.

TermiusはSSH接続アプリです.見やすいGUIと設定項目で必要なデバイスにSSH接続できます.

  • Tailscale
  • a-Shell
  • Termius
IMG_0669.jpg

接続確認でa-Shellを用いたSSHコマンドの実行を行いますが,いきなりTermiusで鍵を用いたSSH接続でも全然問題ないです.

Tailscale

まずはTailscaleのアプリをインストールし,作成したアカウントにログインします.
画面上のConnectedを有効化し,VPN接続をします.

IMG_0670.jpg

a-Shell

a-ShellではWindowsとの疎通確認を行います.

a-Shellを立ち上げると,すぐshellコマンドが実行できる画面が出てきます.

以下のsshコマンドを打って,パスワードでの疎通ができるか確認します.

{USER_NAME}はWSLで設定した自身の名前です.このあとパスワードを聞かれますが,同様にWSLで設定した値を入力してください.

ssh {USER_NAME}@{Tailscaleで確認したWindowsのIP} -p 2222

疎通ができたら「SSH Serverの設定」で設定したパスワードでのアクセスを無効化しておきましょう.

sshの再起動を忘れずに.

PasswordAuthentication no

Termius

TermiusでSSH設定を行い,いつでも容易にWindowsへ接続できるようにしていきます.

ここを設定できればClaude Code実行できます.

まず,+からNew Hostを選択します.

以下の設定項目を埋めていきます.

  • IP or Hostname
    • 「Tailscaleの準備」で確認したWindowsに付与されているIP
    • MagicDNSが有効化されているならデバイス名でもOK
  • Use SSH
    • 有効化
  • Port
    • 2222
  • Username
    • WSLのユーザ名
  • Password
    • 不要
  • Key
    • Paste keyを選択
    • Private Keyに「SSH Serverの設定」で確認したkeyの値を入力
    • Public Keyは不要
    • Passphraseは鍵生成時に設定した人は入力
Screenshot
Screenshot

設定を保存したら,Hostに自分が追加したマシンが出てくるのでタップしたら繋がります!

楽しいClaude Code生活を!

なお,SSH接続したTerminalで直接claudeコマンドを用いてClaudeCodeを起動すると,SSH接続終了でClaudeCodeの処理が中断されてしまいます.

tmuxなどターミナルマルチプレクサを使用しましょう.

参考

スポンサーリンク
ABOUT ME
shimasan0x00
shimasan0x00
Data Engineer
高専→大学編入→大学院→社

専攻は計算社会科学,ウェブマイニング
趣味でVのデータ集めたりAI触ったり
スポンサーリンク
記事URLをコピーしました