0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cursorから遠隔でWindowsPCのWSLを操作する方法

Last updated at Posted at 2025-05-19

概要

Cursorから遠隔でWindowsPCのWSLの中にあるフォルダにアクセスしたい。
VScodeとやり方はほぼ一緒のはずだが、何ヶ月か前は試しても出来なかったので、リベンジした
ちなみに普通に遠隔で操作すると、大学のネットワークに弾かれているのでtailscaleを使ってVPN接続している。多分SSH接続なのでtailscaleを使わなくてもいけそう。

環境

操作する側: Mac M2, macOS Sequoia Version 15.4.1
遠隔操作される側: Windows11, wsl2

全体構成

Mac (Cursor) ──SSH:2222──► Windows (Tailscale IP <TAILSCALE_IP>)
                            │
                            └─portproxy 2222 ► WSL:22

WSL (Ubuntu 等) 側セットアップ

terminal
# WSL 内で
sudo apt update
sudo apt install -y openssh-server

# systemd 有効化
echo -e "[boot]\nsystemd=true" | sudo tee /etc/wsl.conf
wsl --shutdown         # Windows PowerShell で

# sshd 自動起動
sudo systemctl enable --now ssh

/etc/ssh/sshd_config で最低限以下を確認・変更し、sudo systemctl restart ssh

conf
Port 22
ListenAddress 0.0.0.0
PasswordAuthentication no   # 公開鍵のみ推奨

Windows ホスト側 (管理者 PowerShell)(再起動で IP が変わったら再実行)

WSL IP を取得

Powershell
$wslIp = (wsl hostname -I).Split()[0]

portproxy を張る

Powershell
netsh interface portproxy reset
netsh interface portproxy add v4tov4 `
    listenaddress=0.0.0.0 listenport=2222 `
    connectaddress=$wslIp connectport=22

ファイアウォールで 2222/TCP を許可

netsh advfirewall firewall add rule name="WSL SSH 2222" `
    dir=in action=allow protocol=TCP localport=2222 `
    profile=domain,private,public

2 行目のスクリプトをタスクスケジューラの「ログオン時」に登録すると、WSL IP が変わっても自動更新されるらしい。

Mac 側

SSH 鍵を用意 & WSL へ登録

bash
ssh-keygen -t ed25519 -C "wsl-tail"
ssh-copy-id -p 2222 <WSL_USER>@<TAILSCALE_IP>   # 初回のみパスワード入力

~/.ssh/config

ssh/config
Host wsl-tailscale
  HostName     <TAILSCALE_IP>   # 100.x.x.x
  User         <WSL_USER>
  Port         2222
  IdentityFile ~/.ssh/id_ed25519
  ServerAliveInterval 30

接続確認

bash
ssh wsl-tailscale   # パスワード無しでログインできれば OK

Cursor から Remote-SSH

  1. ⌘⇧P → Remote-SSH: Connect to Host…
  2. wsl-tailscaleを選択 → “Linux” プラットフォームを選ぶ
  3. ステータスバーが>< SSH: wsl-tailscaleになれば成功
  4. 好きなフォルダ (例 /home/<WSL_USER>/project) を開いて開発開始

Tailscale ACL 例 (必要に応じて)

jsonc
{
  "ACLs": [
    {
      "Action": "accept",
      "Users": ["*"],
      "Ports": [
        "<TAILSCALE_IP>:2222"
      ]
    }
  ]
}

管理画面で Save & Apply すると数秒で反映。

トラブルシューティング速攻メモ

症状 確認ポイント
ssh: connect … timed out → ① IP/ポート誤り ② portproxy 未設定 ③ FW or ACL
Permission denied 鍵未登録ssh-copy-idauthorized_keys 権限 600
・Cursor で接続候補が出ない → ~/.ssh/configの保存場所&ファイル名
・windows側でcursorを開いていない

以上で Mac → Tailscale → Windows → WSL2 の開発環境が完成しました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?