『外出先のiPhoneから自宅MacのClaude Codeを操作する方法』を挑戦した際のハマりポイント
はじめに
外出先のiPhoneから自宅MacのClaude Codeを操作する方法
こちらの記事を参考に、実際に自分の環境でも試してみました。
構成自体はとても分かりやすかったのですが、実際にやってみると すんなり接続できずにハマったポイント があったため、
この記事では「自分がどこで詰まり、どう解決したか」をまとめています。
同じように NeoServer × Tailscale × macOS 構成で試す方の参考になれば幸いです。
ハマりポイント
記事内の
「3. NeoServerでSSH鍵を生成・配置」
の手順をそのまま実行しました。
ある程度設定も済み、
- ホスト設定
- ポート設定
- 秘密鍵の設定
まで完了し、NeoServerからターミナルを開こうとしたのですが……。
接続時に、以下のエラーが表示されました。
Connecting …!
Error : Unable to establish connection.
Please check host and for reachable.
ホストには Tailscale の MagicDNS をそのままコピペ。 ポートは 22。 秘密鍵も設定済み。
それでも繋がらず、
「どこが悪いのか分からない……」
という状態に。
原因調査(ChatGPTに相談)
ここで ChatGPT に相談したところ、考えられる原因として以下が挙げられました。
-
iPhone側で Tailscale が有効になっていない
-
Mac側で SSH(Remote Login)が有効になっていない
-
NeoServer のパスワード欄の誤設定
このうち、今回の自分の環境では②が原因でした。
Mac側で SSH(Remote Login)が有効か確認する
まず、Mac のターミナルで以下のコマンドを実行します。
sudo systemsetup -getremotelogin
これは macOS専用の管理コマンドで、 SSH(Remote Login)が有効かどうかを確認するものです。
パスワード入力を求められた場合は、Macのログインパスワードを入力してください。
Remote Login が無効な場合
Remote Login: Off
この状態では SSH接続自体が受け付けられていない ため、 NeoServer から接続することはできません。
Remote Login を ON にする
Remote Login を有効化するため、次のコマンドを実行します。
sudo systemsetup -setremotelogin on
フルディスクアクセスで詰まる場合
環境によっては、以下のエラーが表示されることがあります。
setremotelogin: Turning Remote Login on or off requires Full Disk Access privileges.
これは Terminal に「フルディスクアクセス」が許可されていない ことが原因です。
対処方法
- システム設定
- プライバシーとセキュリティ
- フルディスクアクセス
- Terminal を ON
設定後、一度ターミナルを終了して再起動してください。
その後、再度以下を実行します。
sudo systemsetup -setremotelogin on
設定確認
設定が反映されたか、再度確認します。
sudo systemsetup -getremotelogin
以下が表示されればOKです。
Remote Login: On
NeoServer 側の設定例
Remote Login が有効になった状態で、NeoServer 側を再確認します。
自分の設定は以下の通りでした。
Host: Tailscale に表示されている Mac の MagicDNS
Port: 22
User: Macのユーザー名(whoami で確認)
Password: 空欄
認証方式: 秘密鍵
補足 User は root ではなく、Macのログインユーザー名を指定します
Password 欄は、秘密鍵にパスフレーズを設定していない場合は 空欄 で問題ありません
おわりに
今回ハマった原因は、 Mac 側で SSH(Remote Login)が無効になっていた ことでした。
- Tailscale OK
- 秘密鍵 OK
- NeoServer OK
でも、MacがSSHを受け付けていなければ接続できない、という初歩的だけど気付きにくいポイントでした。
同じ構成で試している方の助けになれば幸いです。