SSH ke WSL 2 dari Mac: Penyiapan dan Pemecahan Masalah VS Code

AIRouter Aug 30, 2026

Untuk SSH ke WSL 2 dari Mac, Anda memerlukan server SSH di dalam distribusi Linux dan jalur jaringan dari Mac ke server tersebut. Memasang SSH di Windows saja menghubungkan Anda ke Windows, bukan lingkungan pengembangan WSL.

Panduan ini menggunakan Ubuntu di komputer Windows dan Mac pada jaringan lokal yang sama. Ganti nama pengguna serta alamat contoh dengan milik Anda. Untuk daftar pemeriksaan sisi server, lihat pemecahan masalah server SSH WSL.

Tentukan jalur jaringan terlebih dahulu

Konfigurasi Windows Jalur koneksi
WSL 2 dengan jaringan NAT bawaan Teruskan port LAN Windows ke port SSH di dalam WSL
Instalasi Windows 11 yang didukung dengan jaringan mirrored Uji akses LAN langsung dan atur aturan firewall yang sesuai

Microsoft mendokumentasikan jaringan NAT dan mirrored. Jaringan mirrored tersedia di Windows 11 22H2 dan yang lebih baru. Jangan menganggap semua instalasi WSL menggunakan mode jaringan yang sama atau bahwa jaringan mirrored tidak pernah berfungsi.

1. Pasang dan mulai SSH di Ubuntu

Jalankan perintah berikut di Ubuntu, bukan PowerShell:

sudo apt update
sudo apt install openssh-server
sudo sshd -t
sudo service ssh start
ss -ltn | grep ':22'

Pemeriksaan konfigurasi seharusnya selesai tanpa kesalahan. Perintah terakhir seharusnya menampilkan listener pada port 22. Jika Ubuntu menggunakan systemd, Anda dapat memeriksa layanan dengan sudo systemctl status ssh. Dokumentasi OpenSSH Ubuntu membahas instalasi dan konfigurasi.

Periksa nama pengguna Linux dengan whoami. Itulah akun yang digunakan untuk koneksi SSH. Memulai server sekarang tidak membuktikan layanan akan otomatis menyala setelah Windows reboot; uji hal itu secara terpisah setelah konektivitas berhasil.

2. Uji Windows → WSL sebelum melibatkan Mac

Di PowerShell, tampilkan distribusi dan periksa alamatnya:

wsl -l -v
wsl -d Ubuntu hostname -I

Lalu hubungkan ke alamat WSL yang sesuai:

ssh your_linux_user@172.30.98.229

Alamat di atas hanya contoh. Jika hostname -I menampilkan beberapa alamat, periksa antarmuka Ubuntu dan gunakan alamat untuk jaringan yang ingin diteruskan. Kegagalan pada tahap ini berarti masalah SSH atau Windows-ke-WSL; membuat konfigurasi Mac tidak akan memperbaikinya.

3. Untuk mode NAT, teruskan port Windows khusus

Cari alamat LAN komputer Windows dengan ipconfig. Contoh berikut menggunakan 192.168.1.50 dan mengekspos port 2222, sehingga port Windows 22 tetap tersedia untuk server SSH Windows yang terpisah.

Jalankan di Administrator PowerShell:

$WindowsLanIp = '192.168.1.50'
$WslIp = ((wsl -d Ubuntu hostname -I).Trim() -split '\s+')[0]

netsh interface portproxy add v4tov4 listenaddress=$WindowsLanIp listenport=2222 connectaddress=$WslIp connectport=22

New-NetFirewallRule -DisplayName 'WSL SSH LAN 2222' -Direction Inbound -Action Allow -Protocol TCP -LocalPort 2222 -RemoteAddress LocalSubnet

netsh interface portproxy show all

Periksa alamat WSL yang dipilih sebelum menjalankan perintah penerusan. Microsoft mendokumentasikan netsh interface portproxy, termasuk cara menambah, menampilkan, dan menghapus aturan.

Alamat LAN Windows dan alamat NAT WSL dapat berubah. Jika koneksi berhenti setelah restart, bandingkan alamat saat ini dengan aturan penerusan. Perbarui aturan alih-alih menambahkan sederet aturan usang. Jangan mengekspos port ini ke router internet untuk penyiapan yang hanya ditujukan bagi LAN.

4. Uji SSH dari macOS

Buka Terminal di Mac:

ssh -p 2222 your_linux_user@192.168.1.50

Verifikasi sidik jari kunci host server sebelum menerimanya. Sesi yang berhasil seharusnya membuka shell Linux. Jalankan uname -a dan pwd untuk memastikan Anda mencapai lingkungan yang dimaksud.

Untuk penggunaan berulang, tambahkan entri ini ke konfigurasi SSH Mac:

Host windows-wsl
    HostName 192.168.1.50
    User your_linux_user
    Port 2222

Sekarang uji ssh windows-wsl. Siapkan autentikasi kunci sebelum menonaktifkan autentikasi kata sandi, dan biarkan satu sesi yang berfungsi tetap terbuka selama mengubah pengaturan akses.

5. Hubungkan VS Code ke host SSH yang sudah berfungsi

Pasang ekstensi Microsoft Remote - SSH. Jalankan Remote-SSH: Connect to Host…, pilih windows-wsl, lalu buka direktori di dalam distribusi Linux.

VS Code memasang server jarak jauh di target. Ikuti panduan resmi Remote SSH untuk prasyarat dan kegagalan instalasi. Membuat koneksi Terminal terlebih dahulu memisahkan masalah jaringan dari masalah editor.

Apa yang berubah dengan jaringan mirrored?

Dengan konfigurasi mirrored yang didukung, uji akses langsung dari Mac ke alamat LAN komputer Windows dan port SSH Linux. Kebijakan firewall Windows dan Hyper-V tetap dapat memblokir lalu lintas masuk. Ikuti dokumentasi jaringan Microsoft untuk aturan masuk yang cakupannya sempit; jangan menonaktifkan firewall sebagai jalan pintas konektivitas.

Koneksi localhost yang berfungsi di Windows tidak membuktikan komputer lain dapat menjangkau layanan. Uji dari Mac itu sendiri.

Atasi lapisan yang gagal

Gejala Pemeriksaan berikutnya
Connection refused Listener SSH, alamat tujuan, aturan penerusan, dan port yang dipilih
Connection timed out Keterjangkauan LAN, firewall Windows, rute VPN, dan isolasi jaringan
Permission denied Nama pengguna Linux, metode autentikasi, dan kunci yang diizinkan
Pernah berfungsi sebelum reboot Status layanan WSL dan alamat Windows/WSL yang berubah
Terminal berfungsi, VS Code gagal Prasyarat server jarak jauh dan log koneksi VS Code

Gunakan ssh -vvv windows-wsl untuk diagnostik koneksi. Untuk pemeriksaan layanan Linux dan autentikasi, lanjutkan dengan panduan pemecahan masalah SSH WSL.

Pertanyaan yang sering diajukan

Bisakah Mac terhubung langsung ke alamat NAT WSL?

Tidak melalui jalur LAN biasa pada penyiapan bawaan. Gunakan endpoint Windows yang dapat dijangkau dengan penerusan, atau atur jalur jaringan alternatif yang sesuai.

Apakah saya juga perlu Windows OpenSSH Server?

Tidak untuk pendekatan penerusan di atas: server SSH tujuan berjalan di dalam Ubuntu. Server SSH Windows terpisah diperlukan jika Anda sengaja memilih desain jump-host melalui Windows.

Mengapa alamat WSL berubah?

Anggap alamat NAT bersifat dinamis. Periksa setelah distribusi dimulai ulang dan perbarui tujuan penerusan jika perlu.