『外出先のiPhoneから自宅MacのClaude Codeを操作する方法』を挑戦した際のハマりポイント

ブログ記事

『外出先のiPhoneから自宅MacのClaude Codeを操作する方法』を挑戦した際のハマりポイント

5 分で読めます投稿者:Tomoki
タグ:iPhoneMacClaude CodeTailscale× NeoServer

はじめに

外出先のiPhoneから自宅MacのClaude Codeを操作する方法
こちらの記事を参考に、実際に自分の環境でも試してみました。

構成自体はとても分かりやすかったのですが、実際にやってみると すんなり接続できずにハマったポイント があったため、
この記事では「自分がどこで詰まり、どう解決したか」をまとめています。

同じように NeoServer × Tailscale × macOS 構成で試す方の参考になれば幸いです。


ハマりポイント

記事内の
「3. NeoServerでSSH鍵を生成・配置」
の手順をそのまま実行しました。

ある程度設定も済み、

  • ホスト設定
  • ポート設定
  • 秘密鍵の設定

まで完了し、NeoServerからターミナルを開こうとしたのですが……。

接続時に、以下のエラーが表示されました。

sh
Connecting …!
Error : Unable to establish connection.
Please check host and for reachable.

ホストには Tailscale の MagicDNS をそのままコピペ。 ポートは 22。 秘密鍵も設定済み。

それでも繋がらず、

「どこが悪いのか分からない……」

という状態に。

原因調査(ChatGPTに相談)

ここで ChatGPT に相談したところ、考えられる原因として以下が挙げられました。

  1. iPhone側で Tailscale が有効になっていない

  2. Mac側で SSH(Remote Login)が有効になっていない

  3. NeoServer のパスワード欄の誤設定

このうち、今回の自分の環境では②が原因でした。


Mac側で SSH(Remote Login)が有効か確認する

まず、Mac のターミナルで以下のコマンドを実行します。

sh
sudo systemsetup -getremotelogin

これは macOS専用の管理コマンドで、 SSH(Remote Login)が有効かどうかを確認するものです。

パスワード入力を求められた場合は、Macのログインパスワードを入力してください。

Remote Login が無効な場合

sh
Remote Login: Off

この状態では SSH接続自体が受け付けられていない ため、 NeoServer から接続することはできません。


Remote Login を ON にする

Remote Login を有効化するため、次のコマンドを実行します。

sh
sudo systemsetup -setremotelogin on

フルディスクアクセスで詰まる場合

環境によっては、以下のエラーが表示されることがあります。

sh
setremotelogin: Turning Remote Login on or off requires Full Disk Access privileges.

これは Terminal に「フルディスクアクセス」が許可されていない ことが原因です。

対処方法

  1. システム設定
  2. プライバシーとセキュリティ
  3. フルディスクアクセス
  4. Terminal を ON

設定後、一度ターミナルを終了して再起動してください。

その後、再度以下を実行します。

sh
sudo systemsetup -setremotelogin on

設定確認

設定が反映されたか、再度確認します。

sh
sudo systemsetup -getremotelogin

以下が表示されればOKです。

sh
Remote Login: On

NeoServer 側の設定例

Remote Login が有効になった状態で、NeoServer 側を再確認します。

自分の設定は以下の通りでした。

text
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を受け付けていなければ接続できない、という初歩的だけど気付きにくいポイントでした。

同じ構成で試している方の助けになれば幸いです。