← スマホからPCへの引き継ぎ

06 リモート運用のベストプラクティス — 事前にやっておく・知っておく

繋ぐ・操作する・引き継ぐは前章まで。本章は 「安定し続ける・事故に強い」 ための運用知識です。いざという時に慌てないよう、最初に一読しておくのがおすすめ。


1. スマホ紛失時に即座に無効化する(revoke 手順)

SSH鍵は パスフレーズなし(-N "")で作っているため、スマホ紛失=即PC侵入リスクになります。紛失に気づいた瞬間に以下の2本斧で遮断します。

手順A:PC側で該当鍵を削除

PC側のWSLターミナルで ~/.ssh/authorized_keys を開き、紛失したスマホの鍵の1行を削除します。

# 登録済み鍵の一覧を確認(コメント付きで表示)
cat ~/.ssh/authorized_keys

該当行(紛失スマホの公開鍵)を1行削除して保存。即座にその鍵ではログインできなくなります。

⚠️ 現在の課題: 本ガイドの手順で作った鍵のコメントは u0_aXX@localhost(Termuxの内部ユーザー名)になり、どの物理スマホか判別できません。複数スマホを登録していると紛失時に特定に手間取ります。次の 予防策 で識別コメントを付けておくのが安全です。

手順B:Tailscale 側でデバイス削除

Tailscale管理画面( https://login.tailscale.com/admin/machines )を開き、紛失したスマホのデバイスの「⋯」→ Remove。VPNネットワークからも除外します。

予防策:鍵に識別コメントを付ける

鍵作成時に -C でデバイス名を付けておくと、紛失時に一目で特定できます。

# スマホのTermuxで(例: razr-50s という端末名)
ssh-keygen -t ed25519 -N "" -C "razr-50s" -f ~/.ssh/id_ed25519

💡 スマホ本体のロックも必須: Termuxを起動できれば誰でもSSHできます。スマホのPIN/生体認証ロックは必ず掛けてください。


2. PC再起動後も自動で復旧させる

Windows Update や突発的な再起動があると、Tailscale / WSL / sshd の3プロセスとtmuxセッションが全部消えます。外出先で「繋ごうとしたら再起動後で何も動いていない」を防ぐ設定です。

2-1. sshd を自動起動させる(systemd)

本環境は /etc/wsl.conf で systemd が有効(systemd=true)なので、一度だけ有効化すれば永続します:

# PC側WSLで(要ユーザー確認・sudo実行前)
sudo systemctl enable ssh
sudo systemctl start ssh

⚠️ sudo実行前はユーザー確認ルール。実行は自己責任で。

2-2. Tailscale(Windows側)を自動起動

Windows側の設定 → アプリ → スタートアップ で Tailscale が有効か確認。通常はインストール時点で有効ですが、念のため確認します。

2-3. WSL自体を起動しておく

Windowsログイン後に一度でもWSLターミナルを開けば sshd が立ち上がります。「蓋を閉じてもスリープしない」設定(01章 Step 1)と組み合わせて、PCはログイン済みのまま置いておくのが運用の前提になります。

💡 再起動後の確認: 復旧できているかは 03 PC側ヘルスチェックss -tlnp | grep :22 で sshd LISTEN を確認すればOK。


3. Termux で tmux の Ctrl+B を打つには

スマホのソフトキーボードには Ctrlキーがありません。02章の全手順(Ctrl+B → D 等)は Termux の修飾キー割り当てで代用します。

Termuxの修飾キー対応表

PCでの入力 Termuxでの入力
Ctrl + B 音量下 + B
Ctrl + C 音量下 + C
Alt + ? 音量上 + ?
Esc 音量上 + e
Tab 音量上 + t

つまり tmuxのデタッチ(Ctrl+B → D)は「音量下+B → 離す → D」 で行います。

拡張キーボードバーを出す(推奨)

Termuxは画面上部に 拡張キーボードバー(Ctrl/Alt/Esc/Tab/方向キー等の特殊キー)を表示できます。

💡 物理キーボードをBluetooth接続すれば、PCと同じように普通に Ctrl+B が打てます。長時間作業なら有力な選択肢です。


4. モバイル回線で接続が切れないようにする(KeepAlive)

移動中の電波切替や一時的な通信断で、SSH接続が頻発切断するのを防ぎます。

スマホ側(Termux)の設定

Termuxの ~/.ssh/config を作成・編集:

mkdir -p ~/.ssh && cat >> ~/.ssh/config <<'EOF'
Host 100.115.156.98
    ServerAliveInterval 60
    ServerAliveCountMax 3
EOF
chmod 600 ~/.ssh/config

60秒ごとにkeepaliveパケットを送り、3回連続で応答がない時だけ切断判定します。NATタイムアウトやモバイル回線の一時断で切れにくくなります。

💡 PC側(/etc/ssh/sshd_configClientAliveInterval 60)でも同様に設定できますが、スマホ側だけで十分です。PC側は全クライアントに影響するため、まずはスマホ側で試しましょう。


5. IP変動を気にしない運用(MagicDNS)

概要で「Tailscale IPは変動する場合がある」と注記しましたが、MagicDNS を使えばデバイス名で接続できIP変動を気にしません。

設定手順

  1. Tailscale管理画面( https://login.tailscale.com/admin/dns )で MagicDNS を有効化(通常はデフォルト有効)
  2. デバイス一覧で自PCの デバイス名 を確認(例: win-e2iavn1esmh、分かりやすい名前に変更も可能)
  3. 以降はIPでなくデバイス名で接続:
ssh yn4416@win-e2iavn1esmh

⚠️ Termux側でMagicDNSの名前解決が効くかは環境依存です。繋がらない場合は従来通りIP(100.115.156.98)を使用してください。IPは各デバイスのTailscaleアプリで確認できます。


まとめ — 事前にやっておくチェックリスト

やること 章节
鍵に識別コメントを付ける(-C "端末名" 本章 1
sshd 自動起動を有効化(systemctl enable ssh 本章 2
Tailscale の自動起動を確認 本章 2
Termuxで 音量上+Q から拡張キーボードバーを出す 本章 3
Termuxの ~/.ssh/config に KeepAlive 設定 本章 4
MagicDNS 有効化+デバイス名接続 本章 5

関連