[2026] Cách kết nối từ Mac đến WSL 2 trên Windows bằng VS Code (Remote SSH)
TL;DR
- WSL2 là một máy ảo, không phải "Linux chạy trong terminal" — nó có card mạng ảo, mạng NAT và IP động riêng. Mac không thể SSH trực tiếp vào nó. Đây là thiết kế có chủ đích, không phải lỗi.
- Chuyển tiếp cổng (netsh portproxy) hiện là cách đáng tin cậy nhất — nó bao phủ toàn bộ người dùng Win10 + Win11, và ngay cả tài liệu chính thức của NVIDIA cũng dùng cách này. Chế độ mirrored, dù được quảng bá chính thức, vẫn có các lỗi đã biết với TCP/UDP đến (#10535/#12065), khiến nó không đáng tin cậy cho trường hợp sử dụng "Mac → WSL2".
- Sau khi đọc xong hướng dẫn này, bạn sẽ SSH từ Mac vào WSL2 trong vòng chưa đầy 10 phút — kèm hướng dẫn từng bước, script tự khởi động và quy trình xử lý lỗi
connection refusedtheo từng lớp.
Mô tả
Đối tượng hướng đến: Các lập trình viên có máy bàn Windows (Win10 hoặc Win11) dùng MacBook làm máy chính hằng ngày và muốn SSH từ Mac vào WSL2 trên máy Windows để code hoặc chạy dịch vụ.
Nhiều người nghĩ "Windows và WSL2 nằm trên cùng một máy, nên chỉ cần SSH chạy là kết nối được" — rồi bị connection refused tát thẳng vào mặt. Bài viết này không bàn về "tại sao nên dùng WSL2". Nó chỉ tập trung vào một điều duy nhất: làm thế nào để kết nối từ Mac, và vì sao hướng dẫn bạn tìm trên mạng vẫn không hoạt động.
Sau bài viết, bạn sẽ có một script PowerShell tự động chuyển tiếp cổng để bỏ vào Shell:Startup — để IP của WSL2 thay đổi sau khi khởi động lại cũng không còn làm phiền bạn nữa.
Tác giả:Jarvis
Liên kết:https://www.airouter.me/blog/remote-mac-to-wsl2
Đăng lại phi thương mại kèm ghi nguồn (CC BY-NC-SA 4.0).