Tailscale + SSH リモートアクセス セットアップガイド

外出先から自宅WSL(Claude Code環境)に接続するための手作業ガイドです。

自宅PC Tailscale IP
100.124.4.35
SSHポート
22
ユーザー名
kawag
接続先シェル
WSL2 Ubuntu 24.04 LTS
自宅PC(サーバー側)設定済み

Phase 2: ノートPC(クライアント)のセットアップ

Windows Mac
1 Tailscaleの確認

ノートPCにTailscaleがインストール済みなら、自宅PCと同じアカウントでサインインしてください。

重要:同じアカウントでサインイン

自宅PCと異なるアカウントだとネットワークが別になり、接続できません。Googleアカウント・Microsoftアカウント等、自宅PCと同じ方法でサインインしてください。

サインイン後、ノートPCのターミナルで接続確認:

tailscale status

自宅PCの名前(VivoS14hira)が一覧に表示されればOKです。

ping確認:

ping 100.124.4.35

応答があれば次のステップへ進みます。

2 SSH鍵ペアの生成

既に鍵がある場合はスキップできます。以下で確認:

# 既存の鍵を確認
ls ~/.ssh/id_ed25519.pub

「No such file」と表示されたら、鍵を新規作成します:

Windows(PowerShell)の場合

ssh-keygen -t ed25519 -C "laptop-to-home-wsl"

質問されたらすべてEnterでOK(デフォルトパスにパスフレーズなしで作成)。

Macの場合

ssh-keygen -t ed25519 -C "laptop-to-home-wsl"

同様にすべてEnterでOK。

鍵ファイルの場所
  • 秘密鍵: ~/.ssh/id_ed25519(絶対に外部に出さない)
  • 公開鍵: ~/.ssh/id_ed25519.pub(サーバーに登録する)
3 公開鍵を自宅PCに登録

ノートPCで生成した公開鍵を自宅PCに送ります。初回のみパスワード入力が必要です。

Mac / Linux の場合(簡単)

ssh-copy-id -i ~/.ssh/id_ed25519.pub kawag@100.124.4.35

Windowsパスワードを聞かれるので入力してください。

Windows(PowerShell)の場合

ssh-copy-id がないため、手動で登録します:

# 1. まず公開鍵の内容を表示してコピー
type $env:USERPROFILE\.ssh\id_ed25519.pub

表示された1行(ssh-ed25519 AAAA...で始まる)をすべてコピーします。

# 2. 自宅PCにSSH接続(パスワード入力が必要)
ssh kawag@100.124.4.35

Windowsのログインパスワードを入力。WSLのシェルに入ります。

# 3. WSL内で公開鍵を登録
mkdir -p ~/.ssh
echo "ここに先ほどコピーした公開鍵を貼り付け" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Windows SSH の公開鍵登録先について

Windows の OpenSSH は管理者ユーザーの場合、~/.ssh/authorized_keys ではなく C:\ProgramData\ssh\administrators_authorized_keys を参照することがあります。
もし Step 5 でパスワードなしログインできない場合は、自宅PCのPowerShell(管理者)で以下を実行してください:

# PowerShell(管理者)@自宅PC
$pubkey = "ここにノートPCの公開鍵を貼り付け"
Add-Content -Path "C:\ProgramData\ssh\administrators_authorized_keys" -Value $pubkey
icacls "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "SYSTEM:(F)" /grant "Administrators:(F)"
# 4. 登録完了したら切断
exit
4 SSH configの設定

~/.ssh/config ファイルに以下を追記します。これにより ssh home-wsl だけで接続できるようになります。

Mac / Linux の場合

# ファイルを作成/編集
nano ~/.ssh/config

以下の内容を追記(ファイル末尾に貼り付け):

Host home-wsl
    HostName 100.124.4.35
    User kawag
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 60
    ServerAliveCountMax 3

保存後、パーミッションを設定:

chmod 600 ~/.ssh/config

Windows(PowerShell)の場合

# メモ帳でconfigファイルを開く(なければ新規作成)
notepad $env:USERPROFILE\.ssh\config

以下の内容を追記して保存:

Host home-wsl
    HostName 100.124.4.35
    User kawag
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 60
    ServerAliveCountMax 3
各設定項目の意味
項目説明
Hosthome-wsl接続時のエイリアス名
HostName100.124.4.35自宅PCのTailscale IP
UserkawagWindowsのユーザー名
IdentityFile~/.ssh/id_ed25519秘密鍵のパス
ServerAliveInterval6060秒ごとにキープアライブ送信
ServerAliveCountMax33回応答なしで切断
5 接続テスト
ssh home-wsl

パスワードなしで自宅WSLのターミナルが開けば成功です。

成功時の表示例
Welcome to Ubuntu 24.04.4 LTS
kawag@VivoS14hira:~$

接続できたら、Claude Codeの動作確認:

# tmuxセッション開始(切断しても作業が維持される)
tmux new-session -s claude-work

# Claude Code起動
claude

Phase 3: スマートフォンのセットアップ

iOS Android
1 必要なアプリのインストール

iOS の場合

  1. Tailscale — App Storeで「Tailscale」を検索してインストール
  2. Termius — App Storeで「Termius」を検索してインストール(無料版でOK)

Android の場合

  1. Tailscale — Google Playで「Tailscale」を検索してインストール
  2. Termius または JuiceSSH をインストール
2 Tailscaleにサインイン

Tailscaleアプリを開き、自宅PCと同じアカウントでサインインします。

Tailscaleアプリを開く
「Sign in」をタップ
自宅PCと同じアカウントでログイン
(Google / Microsoft 等)
VPN接続を許可(OSの確認ダイアログ)
デバイス一覧に VivoS14hira が表示されればOK
3 Termius での接続設定

3-a. SSH鍵の生成(Termius内)

Termius を開く
「Keychain」タブを開く
「+」→「Generate Key」
Type: ED25519 を選択
Label: home-wsl
「Save」→ 公開鍵をコピー
(「Export to clipboard」等)
公開鍵の登録が必要

コピーした公開鍵を自宅PCに登録する必要があります。ノートPCから自宅PCにSSH接続して以下を実行:

# ノートPCから自宅PCにSSH接続
ssh home-wsl

# スマホの公開鍵を追記
echo "ssh-ed25519 AAAA...(スマホの公開鍵)" >> ~/.ssh/authorized_keys

または、自宅PCのPowerShell(管理者)で:

$pubkey = "ssh-ed25519 AAAA...(スマホの公開鍵)"
Add-Content -Path "C:\ProgramData\ssh\administrators_authorized_keys" -Value $pubkey

3-b. ホスト設定の作成

「Hosts」タブを開く
「+」→「New Host」
以下を入力
項目入力値
Alias(表示名)home-wsl
Hostname100.124.4.35
Port22
Usernamekawag
Key先ほど作成した home-wsl キーを選択

「Save」で保存。

4 スマホから接続テスト
  1. TailscaleアプリがON(Connected)になっていることを確認
  2. Termius の「Hosts」から home-wsl をタップ
  3. WSLのターミナルが開けば成功

接続できたら:

# 既存のtmuxセッションに接続(ノートPCの作業を引き継ぎ)
tmux attach-session -t claude-work

# セッションがなければ新規作成
tmux new-session -s claude-work
スマホでの tmux 操作

tmux のプレフィックスは Ctrl+a に設定済みです(スマホのキーボードで操作しやすい)。

操作キー
新しいウィンドウCtrl+a → c
次のウィンドウCtrl+a → n
セッション切断(維持)Ctrl+a → d
スクロール画面を指でスクロール(mouse on設定済み)

Phase 4: 日常的な使い方

基本フロー

外出先でTailscaleをON
ssh home-wsl で接続
tmux attach-session -t claude-work
既存セッションに復帰
Claude Code で作業
Ctrl+a → d でtmux切断
作業は自宅PCで維持される
tmux セッション管理コマンド
# セッション一覧
tmux ls

# セッションに接続
tmux attach-session -t claude-work

# 新規セッション作成
tmux new-session -s 作業名

# セッション削除
tmux kill-session -t セッション名

トラブルシューティング

症状 原因 対処法
Could not resolve hostname home-wsl ~/.ssh/config が未設定 Phase 2 Step 4 を確認
Permission denied (publickey) 公開鍵が未登録 or 登録先が違う Phase 2 Step 3 を再実行。
Windowsの管理者ユーザーの場合は
administrators_authorized_keys に登録
Connection refused SSHサービスが停止 自宅PCのPowerShellで
Start-Service sshd
Connection timed out TailscaleがOFF 自宅PC・接続元の両方でTailscaleをON
SSHは繋がるがWSLが起動しない WSLがシャットダウンされた 自宅PCでwsl --shutdown
wsl で再起動
tmuxセッションがない WSLが再起動された tmux new-session -s claude-work で新規作成

完了チェックリスト


セキュリティ注意事項