Tailscaleを使ってMacBook AirからMac Miniにリモート接続してみた
はじめに
こんにちは!この記事では、Tailscale という便利なツールを使って、手元のMacBook Airから自宅やオフィスにあるMac Miniにリモート接続し、Mac Mini上で開発作業を行う環境を構築する手順をご紹介します。
Mac Miniの方が実行が早く、常に電源に接続されていることから長時間プログラムを実行するときに理想的なためリモート接続することにしました。今回はVisual Studio Code (VSCode) を使って接続します。
この記事のゴール: MacBook AirのVSCodeからMac MiniにSSH接続し、Mac Mini上でターミナル操作やプログラム実行ができるようになること。
対象読者:
- Macユーザーの方
- リモートワークや開発で複数のMacを使い分けている方
- TailscaleやVSCode Remote Developmentに興味がある方
環境
今回使用したデバイスは以下の通りです。
- 操作側: MacBook Air (macOS)
- 接続先: Mac Mini (macOS)
手順
1. Tailscaleのインストールとサインイン
まず、接続元(MacBook Air)と接続先(Mac Mini)の両方にTailscaleをインストールします。
- Tailscaleの公式サイト から、macOS版のTailscaleアプリをダウンロードし、インストールします。
- インストール後、両方のMacでTailscaleアプリを起動します。
- 必ず同じアカウント (Google, Microsoft, GitHubなど) を使ってサインインしてください。
2. ネットワーク拡張機能の許可
macOSのセキュリティ機能により、Tailscaleがネットワーク接続を管理するために「ネットワーク拡張機能」の許可が必要です。
- Tailscaleアプリを起動すると、許可を求めるダイアログが表示される場合があります。システム環境設定(またはシステム設定)を開き、指示に従ってTailscaleのネットワーク拡張機能を許可してください。
- 特にMac Mini側での注意点: Mac Miniに物理的にアクセスできない場合は、画面共有や他のリモートデスクトップツール(Google Remote Desktop等)を使って接続し、この許可操作を行う必要があります。一度許可すれば、次回以降は不要です。
3. VSCodeにTailscale拡張機能をインストール (MacBook Air側)
次に、操作を行うMacBook Air側のVSCodeにTailscaleの拡張機能をインストールします。これにより、VSCodeから簡単にTailscaleネットワーク上のデバイスに接続できるようになります。
- MacBook AirでVSCodeを開きます。
- 左側のアクティビティバーから「拡張機能」アイコン (四角が組み合わさったようなアイコン) をクリックします。
- 検索ボックスに
Tailscale
と入力し、公式のTailscale拡張機能を見つけて「インストール」ボタンをクリックします。
4. SSHキーペアの作成 (MacBook Air側)
安全なSSH接続のために、SSHキーペアを作成します。公開鍵認証を使うことで、パスワード入力なしで安全に接続できます。
-
MacBook Airのターミナルを開きます。
-
以下のコマンドを実行して、SSHキーペア(秘密鍵と公開鍵)を作成します。
ssh-keygen -t rsa -b 4096
-
-t rsa
: キーのタイプを指定 (RSAが一般的) -
-b 4096
: キーのビット長を指定 (より安全) - 実行すると、キーの保存場所 (通常は
~/.ssh/id_rsa
) とパスフレーズ(任意)の入力を求められます。特に変更なければEnterキーを押して進めます。パスフレーズを設定すると、接続時に毎回入力が必要になりますが、セキュリティは向上します。
-
-
作成された公開鍵の内容を確認し、クリップボードにコピーします。
cat ~/.ssh/id_rsa.pub
表示された
ssh-rsa AAAA...
から始まる文字列全体をコピーしてください。【重要】
-
~/.ssh/id_rsa
は 秘密鍵 です。絶対に他人に見せたり、ネットワーク上にアップロードしたりしないでください。大切に保管してください。 -
~/.ssh/id_rsa.pub
は 公開鍵 です。接続先のサーバーに登録するために使います。
-
5. 接続先(Mac Mini)に公開鍵を登録
コピーした公開鍵を、接続先であるMac Miniに登録します。これにより、Mac MiniはMacBook AirからのSSH接続を信頼するようになります。
- Mac Miniのターミナルを開きます。(Tailscale経由でのSSH接続がまだできないため、直接操作するか、画面共有などで操作します。)
-
~/.ssh
ディレクトリが存在しない場合は作成し、適切なパーミッション(権限)を設定します。mkdir -p ~/.ssh chmod 700 ~/.ssh
-
authorized_keys
というファイルを作成(または追記モードで開く)し、コピーしておいた 公開鍵 を貼り付けて保存します。nano ~/.ssh/authorized_keys
- エディタ(ここでは
nano
を使っていますが、vim
など他のエディタでも構いません)が開いたら、先ほどコピーしたssh-rsa AAAA...
の公開鍵文字列を貼り付けます。 -
nano
の場合、Control + O
で保存、Enter
を押し、Control + X
で終了します。
- エディタ(ここでは
-
authorized_keys
ファイルにも適切なパーミッションを設定します。これで、Mac Mini側でSSH接続を受け入れる準備ができました。chmod 600 ~/.ssh/authorized_keys
接続してみる! (MacBook Air側)
いよいよ、MacBook AirのVSCodeからMac Miniに接続します。
- MacBook AirでVSCodeを開きます。
- 左側のアクティビティバーに追加された「リモートエクスプローラー」アイコン (>< のようなアイコン) をクリックします。(もし見当たらなければ、Tailscale拡張機能のインストールやVSCodeの再起動を確認してください)
- 上部のドロップダウンが「SSH Targets」になっていることを確認します。
- Tailscaleネットワーク上のデバイス一覧が表示されるはずです。接続したいMac Miniの名前が表示されていることを確認してください。
- Mac Miniの名前の横にある「+」(新しいウィンドウで接続)またはフォルダアイコン(現在のウィンドウで接続)をクリックします。
- 初回接続時には、接続先のOSの種類(Linux, Windows, macOS)を聞かれる場合がありますので、「macOS」を選択します。
- フィンガープリントの確認ダイアログが表示されたら「Continue」をクリックします。
接続が成功すると、VSCodeの左下に緑色のステータスバーが表示され、「SSH: 」のように表示されます。これで、VSCodeのターミナルを開けばMac Miniのシェルが、エクスプローラーを開けばMac Miniのファイルが表示され、直接編集やプログラム実行が可能になります!
(おまけ) SSH接続が切れても処理を続けたい場合
SSH接続中に時間がかかる処理を実行していると、ネットワークが不安定になったり、MacBook Airを閉じたりした際に接続が切れて処理も中断してしまうことがあります。
このような場合は、tmux
や screen
といったターミナルマルチプレクサを使うのがおすすめです。これらは、SSHセッションが切断されてもサーバー上でセッション(とそこで動いているプロセス)を維持し、再接続後に元の状態に復帰できるツールです。
設定方法や使い方については、以下の記事などが参考になります。
まとめ
TailscaleとVSCode Remote - SSH拡張機能を使うことで、複雑なネットワーク設定やポート開放なしに、非常に簡単かつ安全にMac間のリモート接続環境を構築できました。
これにより、場所を選ばずにMac Miniのリソースを活用した開発が可能になります。ぜひ試してみてください!