Termius+Tailscaleで通勤時に開発する

スマホに以下のアプリをインストールしておくとスマホからローカルPCに接続して開発ができる。

🧭 全体構成(まず理解)

●iPhone
 ├ Tailscale(VPN接続)
 └ Termius(SSH接続)
        ↓
インターネット(暗号化)
        ↓
●Mac
 ├ Tailscale(受信)
 └ SSHサーバー

🟦 STEP 1:Mac に Tailscale を入れる

🔹 ① ダウンロード

Tailscale 公式サイトからMac版をダウンロード

https://cdn.sanity.io/images/w77i7m8x/production/50b22c657297475e7a6fe61230f67ab292d67d12-1280x720.jpg?auto=format&fit=clip&q=75&w=3840
https://tailscale.com/_next/static/media/alert.4dfcfe3c.png
https://tailscale.com/_next/image?q=75&url=%2F_next%2Fstatic%2Fmedia%2Fsystem-extension-warning.84bfc54e.png&w=750

🔹 ② ログイン

  • Google / Apple / Microsoft のいずれかでログイン
  • 同じアカウントをiPhoneでも使う

🔹 ③ 接続確認

メニューバーに
✔ Connected と表示されればOK


🟩 STEP 2:Mac の SSH を有効化

🔹 ① システム設定

システム設定 → 一般 → 共有

「リモートログイン」をON

https://www-assets.kolide.com/assets/marketing/check_use_cases/mac_sharing_disable_remote_login/sharing-remote-login-ff0206fd.png
https://i.sstatic.net/gHoXH.png
https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/72115033447/original/DCdVJv814pSr-DIcaWZrpQkiglxoNy4__w.png?1726167300=

🔹 ② 確認

ターミナルで:

sudo systemsetup -getremotelogin

Remote Login: On ならOK


🟨 STEP 3:iPhone に Tailscale を入れる

App Store から:

Tailscale をインストール

https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/b4/19/57/b41957fa-903d-3297-726b-ab177b474895/AppIcon-0-0-1x_U007epad-0-0-0-1-0-85-220.png/1200x630wa.png
https://cdn.sanity.io/images/w77i7m8x/production/e4f26bd45af7bdd2200d96f5057033c88ae594d0-3404x2340.png
https://cdn.sanity.io/images/w77i7m8x/production/0d1d8e792f8d67ca4220b588c5584b689265f25d-2122x1100.png

4


🔹 ログイン

Macと同じアカウント

→ Connected 表示になればOK


🟥 STEP 4:Mac 側で SSH鍵を作る(重要)

Macで:

ssh-keygen -t ed25519 -C "your-email"

Enter連打OK
※パスフレーズは必ず設定

生成場所:

~/.ssh/id_ed25519

🟪 STEP 5:iPhone に Termius を入れる

App Store から:

Termius をインストール

https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/84/e0/29/84e0290e-df5d-300e-1402-d59d221e20a8/icon.png/1200x630bb.png
https://framerusercontent.com/images/LDarWLSirq9KZWROJRp64ftdopQ.png?height=860&width=1600
https://framerusercontent.com/images/H6akqGmguVHYwpWN3pGFt2G1kg.jpg?height=1080&width=1440

4


🟫 STEP 6:Termius 設定

🔹 ① Host追加

  • Host:MacのTailscale IP
    (例:100.x.x.x)
  • Username:Macのユーザー名
  • Auth:Key

🔹 ② 鍵登録

Macで公開鍵を表示:

cat ~/.ssh/id_ed25519.pub

これをMacの

nano ~/.ssh/authorized_keys

に貼り付ける


🟩 STEP 7:接続テスト

iPhone → Termius → Connect

成功すれば
Macのターミナルが表示されます 🎉


🛡️ 安全設定(必須)

✔ Mac 側

sudo nano /etc/ssh/sshd_config

変更:

PasswordAuthentication no

→ パスワードログイン禁止


✔ Tailscale 側

管理画面で:

  • 不要デバイス削除
  • MFA有効
  • ACL設定

🚀 完成後に出来ること

iPhoneから:

tmux attach
claude
flutter build

👉 外出先開発可能


🎯 あ



ssh username@Mac

と同じ意味です。


■ 例

Macのユーザー名が

mothusi

なら

Termius

Username = mothusi

にします。


■ ユーザー名が違う場合

例えば

Termius

Username = admin

と設定した場合

Mac側に adminユーザーが存在しない

接続時に

Permission denied

または

User admin not allowed

というエラーになります。


■ 正しいユーザー名の確認方法(Mac)

Macでターミナルを開いて

whoami

結果例

mothusi

これが SSH Username です。


■ もう一つの確認方法

Mac

システム設定

一般

共有

リモートログイン

ここに

ユーザ名でログイン

と表示されます。


■ よくあるミス

Macの表示名

Mothusi

ユーザー名

mothusi

別物です。

SSHは

👉 ユーザー名(短い名前)

を使います。


■ SSHログインの仕組み

実際はこのコマンドと同じです

ssh mothusi@100.x.x.x

ここで

mothusi

が Username です。


■ まとめ

設定内容
UsernameMacのユーザー名
違う場合ログイン失敗
確認方法whoami

■ 次の重要ポイント

この後の設定で 一番つまずくのはここです👇

Host(IPアドレス)

ここは TailscaleのIPを入れる必要があります。

もしよければ
Macでこのコマンドを実行してください

tailscale ip -4

出てきた 100.xxx.xxx.xxx を教えていただければ
Termius設定を完全な形で案内できます。

念の為にこのユーザー名の確認方法を教えてください。

もちろんです 👍
Mac の SSH用ユーザー名(Username) を確認する方法は、次の方法が確実です。
一番簡単な方法から説明します。


方法①(最も簡単・おすすめ)

Macで ターミナル を開いて、次のコマンドを入力します。

whoami

例:

mothusi

この 表示された文字が SSH の Username です。

つまり Termius では

Username = mothusi

になります。


方法②(Finderで確認)

  1. Finder を開く
  2. 左側の「ホーム」をクリック

表示されるフォルダ名がユーザー名です。

/Users/mothusi

この場合

mothusi

がユーザー名です。


方法③(システム設定)

  1. システム設定
  2. 一般
  3. 共有
  4. リモートログイン

ここに

ssh mothusi@MacのIP

のような表示があります。

この

mothusi

がユーザー名です。


注意(ここが重要)

Macには 2種類の名前 があります。

名前SSHで使う?
表示名(フルネーム)❌使わない
アカウント名(短い名前)✅使う

表示名SSH Username
Mothusimothusi

SSHでは 小文字のアカウント名 を使います。


確認後の設定(Termius)

Termiusの設定

Host: 100.xxx.xxx.xxx   ← Tailscale IP
Username: mothusi ← 今確認した名前
Port: 22

もしよければ次に
Macで SSH が有効になっているか確認する方法
(これをやらないと接続できない)
も説明できます。

同じく「Auth:Key」の項目がありません。パスワードは何を入力しますか?MacPCのログインパスワードですか?

はい、状況としては正常です 👍
「Auth: Key」が見えない場合は、まずパスワードログインで接続できます。

結論から言うと👇

👉 入力するパスワードは Mac のログインパスワードです。


■ Termius の設定(まずは簡単な方法)

Host設定は次のようにします。

Host       : 100.xxx.xxx.xxx   ← Tailscale IP
Port : 22
Username : Macのユーザー名
Password : Macログインパスワード

Host       : 100.101.23.45
Username : mothusi
Password : Macのログインパスワード

■ なぜMacのパスワードなのか

SSHは基本的に

ssh username@IPアドレス

でログインします。

つまり

ssh mothusi@100.xxx.xxx.xxx

この時に求められるパスワードは

👉 Macのユーザーパスワード

です。


■ Auth: Key が出ない理由

Termiusでは

  • Hostを作る
  • 接続する

初回はパスワードログインになります。

その後

Keys

を追加すると

Auth → Key

が選択できます。


■ 今の段階でおすすめ

まず パスワード接続で成功させることです。

成功すると

iPhoneから

Macターミナル

が表示されます。


■ 接続成功するとこうなります

Last login: ...
mothusi@MacBook ~ %

これが出れば成功です。


■ 接続できない場合の原因

よくあるのはこの3つです。

1️⃣ Macで リモートログインがONになっていない

システム設定

一般

共有

リモートログイン

ONにする


2️⃣ Usernameが違う

確認

whoami

3️⃣ Tailscaleが接続されていない

確認

tailscale status

■ セキュリティ(後でやる)

本当は

SSH鍵ログイン

が安全です。

ただし

まず

パスワード接続

で動作確認するのが正しい手順です。


■ 次のステップ(接続成功後)

接続できたら

tmux
claude

まで進めます。


もしよければ
次の画面(TermiusのHost設定)を見せていただければ
間違いがないかチェックできます 👍

「PasswordAuthentication no」の頭の#は付与したままで問題ないですか?

いい質問です。ここは 非常に重要なポイントです。

結論👇

👉 # は外してください。


■ なぜか

SSH設定ファイルでは

# から始まる行 = コメント(無効)

つまり

#PasswordAuthentication no

設定が無効です。

SSHはこの行を 無視します。


■ 正しい設定

PasswordAuthentication no

こうします。


■ 例(よくある状態)

修正前

#PasswordAuthentication yes

修正後

PasswordAuthentication no

■ 編集手順(安全な方法)

Macで

sudo nano /etc/ssh/sshd_config

探します

PasswordAuthentication

もし

#PasswordAuthentication yes

なら

次に変更

PasswordAuthentication no

■ 保存方法

nanoでは

control + O
enter
control + X

■ その後(重要)

SSHを再起動します

sudo launchctl stop com.openssh.sshd
sudo launchctl start com.openssh.sshd

または

sudo systemsetup -f -setremotelogin off
sudo systemsetup -f -setremotelogin on

■ ただし重要(先に確認)

Termiusの接続が成功してから変更してください

理由

PasswordAuthentication no

にすると

👉 パスワードログインが完全禁止

になります。

つまり

SSH鍵ログインしかできない

状態になります。


■ 安全な順序(おすすめ)

① iPhone → Termius → パスワード接続成功
② SSH鍵を設定
その後に

PasswordAuthentication no

■ まとめ

状態OK?
#PasswordAuthentication no❌ 無効
PasswordAuthentication no✅ 有効

■ もしよければ

あなたの環境だと ここから先が一番面白いところです。

実は

Tailscale + SSH + tmux + Claude

にすると

👉 iPhoneからAI開発環境にアクセス

できます。

希望があれば
**次の設定(tmux + Claude Code remote)**も説明できます 👍

Termiusの設定の最後で、「全てのアクセスを許容するか?」「xxxのみ許容するか」のようなダイアログが出たのですが、確認できないまま次の画面に進みました。セキュリティの問題があるようなら見直しt来のですが、どこで設定すればいいですか?

おそらくそれは Mac側の「リモートログイン(SSH)」のアクセス許可設定です。
Termiusの設定というより、macOSのSSHアクセス権限のダイアログが出た可能性が高いです。
後から macOS設定画面で簡単に確認・変更できます 👍


確認・変更する場所(Mac)

1️⃣ システム設定 を開く
2️⃣ 一般
3️⃣ 共有
4️⃣ リモートログイン

ここに SSH のアクセス設定があります。


表示される2つの選択肢

通常は次のどちらかになっています。

① すべてのユーザー

Allow access for: All users

意味

  • Macに存在する全ユーザーがSSHログイン可能

② 次のユーザーのみ

Allow access for: Only these users

意味

  • 指定したユーザーだけSSHログイン可能

セキュリティ的におすすめ

👉 「次のユーザーのみ」

そして

あなたのユーザー名(例: mothusi)

だけ登録します。


設定方法

「次のユーザーのみ」にして

を押す → 自分のユーザーを追加


安全度の比較

設定安全性
All users
Only these users

ただし今回の環境では

あなたの構成は

iPhone

Tailscale VPN

Mac SSH

なので

外部から直接SSHは来ません。

つまり

  • すでにVPNで保護されています
  • リスクはかなり低いです

念のため確認するコマンド

Macターミナルで

sudo systemsetup -getremotelogin

結果

Remote Login: On

ならSSH有効です。


次に確認したいこと(接続成功に重要)

もしよければ Macでこのコマンドを実行して下さい。

tailscale ip -4

表示される

100.xxx.xxx.xxx

このIPが Termiusで接続するIPです。


もし接続がまだなら
「Tailscale + Termius接続の最終チェック(3分)」
も説明できます。
ここまで来ていれば あと少しでiPhoneからMac操作できます。

Iphoneからの接続を切断する方法を教えてください。地内に、接続できるのはターミナル操作だけで、他のアプリなどは不可ですね?

いいところまで設定できていますね 👍
質問を ①接続の切断方法②iPhoneから何ができるか に分けて説明します。


① iPhone → Mac の接続を切断する方法

方法1(Termius側で切断)※一番簡単

Termiusの画面で

  1. 接続中のターミナル画面を開く
  2. 右上の ×(close) または Disconnect
  3. セッションが終了

これで SSH接続が切断されます。


方法2(ターミナルコマンド)

SSHセッション内で

exit

または

logout

これでも接続が終了します。


方法3(iPhone側でアプリ終了)

iPhoneの

Termiusアプリを閉じる

これでも接続は切れます。


② Mac側から強制切断する方法

Macターミナルで

接続確認

who

mothusi ttys000

切断

pkill -KILL -t ttys000

③ Tailscale接続を切る方法

SSHではなく VPN接続自体を切る場合

iPhoneの

Tailscaleアプリ

Connected → OFF

これで Macにアクセスできなくなります。


④ iPhoneから何ができるか

結論:

👉 基本はターミナル操作のみです。

つまり

できること

・ファイル操作
・git
・flutter build
・claude code
・tmux
・サーバー管理

できないこと

・Macの画面操作
・GUIアプリ操作
・Finder操作
・ブラウザ操作

⑤ ただし例外

CLIで起動できるものは可能です。

例えば

open -a Safari

Mac側のSafariを起動できます。

ただし 画面はiPhoneには表示されません。


⑥ GUI操作したい場合

その場合は SSHではなく

  • Chrome Remote Desktop
  • Microsoft Remote Desktop
  • VNC

などを使います。

ただし

セキュリティ
速度
安定性

の面で SSHの方が圧倒的に安全です。


⑦ 今の構成(あなたの環境)

あなたは今

iPhone
├ Tailscale
└ Termius

Mac
├ SSH
└ tmux / claude

という かなり安全なリモート環境になっています。


もしよければ次に

ここまで出来ているなら
開発者がよくやる次のステップがあります。

実は

tmux + claude + iPhone

にすると

👉 iPhoneからAI開発環境を操作

できます。

必要なら
その設定(10分)も説明できます。

画像をアップロードしました

Tailscale、termiusの設定が終わりましたが、アクセス確認もできましたが、MacBookを閉じた状態では利用できません。対策絵お教えてください。

原因はシンプルで、MacBookのフタを閉じるとMacがスリープ状態になるためです。
スリープになると

  • SSHサーバー停止
  • Tailscale停止
  • ネットワーク切断

になるため iPhoneから接続できなくなります。

これは正常な動作です。

対策は3つあります👇


方法① Macをスリープさせない(おすすめ)

Macの設定で 画面を閉じてもスリープしないようにする 方法です。

Macで

システム設定 → バッテリー

設定:

ディスプレイをオフでもスリープしない

さらに

電源アダプタ接続時

コンピュータのスリープ:しない

にします。


方法② Amphetamineアプリを使う(開発者の定番)

無料アプリ
Amphetamine

これを使うと

フタを閉じてもスリープしない

設定ができます。

メリット

  • ワンクリックでON/OFF
  • スリープ防止
  • 開発者の定番

App Storeで検索

Amphetamine

方法③ クラムシェルモード(上級)

Macを

  • 電源接続
  • 外部モニター接続
  • キーボード接続

にすると

フタ閉じたまま動作

できます。

ただしこれは 自宅据え置き向けです。


開発用途ならおすすめ

あなたの構成は

iPhone

Tailscale

SSH

Mac

なので

Amphetamine + 電源接続

が一番安定します。


さらに便利な設定(おすすめ)

Macで

tmux

を使うと

iPhone接続が切れても

作業継続

できます。

tmux new -s dev

まとめ

MacBookを閉じると接続できない理由

スリープ

対策

1️⃣ スリープ無効
2️⃣ Amphetamine(おすすめ)
3️⃣ クラムシェルモード


もしよければですが、
あなたの環境(Claude Code + Tailscale + SSH)なら

もう一歩で「外出先からAI開発環境」になります。

次にやると便利なのは

  • tmux自動起動
  • Claude Code remote操作

です。

希望あれば 最強構成(5分設定) を説明します 👍

最強構成を教えて下さい。

ここまで設定できているなら、かなり良いところまで来ています 👍
あなたの目的(iPhoneからMacの開発環境を使う)に最適な 「安定・安全・便利」な構成をまとめます。


最強構成(結論)

iPhone
├ Tailscale(VPN)
├ Termius(SSH)

│ SSH

Mac
├ Tailscale
├ SSH
├ tmux(セッション管理)
└ Claude Code / 開発環境

これで

  • 外出先でも開発
  • 接続切れても作業継続
  • セキュア

になります。


① tm


■ 全体の流れ(どこで詰まるか)

iPhone

Tailscale(VPN)

MacのTailscale

SSH(22番ポート)

tmux / shell

👉 このどこで止まっているかを見る


■ ① Tailscale接続確認(iPhone側)

まずここ

確認

Tailscale を開く

  • Connected になっているか
  • Macがリストに出ているか

NGパターン

  • Not Connected → ❌
  • Macが表示されない → ❌

対処

  • OFF → ON
  • アプリ再起動
  • 再ログイン


■ 使えなかったケース

  • クラムチェルモードにしてるけど、電源繋がっていない
  • スリープ状態
    → caffeinateのコマンドでセッション継続

対策

  • 困った際のコマンド

caffeinate -d -i -m -s &                                  # ローカルPCとのセッションを継続
security unlock-keychain ~/Library/Keychains/login.keychain-db.    # Claudeのログインを求められた際の一時的対応