Server SSH WSL: Penyiapan dan Mengatasi Connection Refused atau Timeout
Perintah SSH yang berhasil di dalam WSL tidak membuktikan komputer lain dapat menjangkaunya. Uji server, host Windows, dan klien jarak jauh secara terpisah. Urutan ini membantu menemukan letak kegagalan sebelum mengubah beberapa pengaturan sekaligus.
Panduan ini menggunakan Ubuntu di WSL 2. Untuk alur yang lebih luas dari Mac, lihat menghubungkan Mac ke WSL 2.
Pasang dan uji server di Ubuntu
Pasang server di distribusi Linux yang akan Anda hubungkan:
sudo apt update
sudo apt install openssh-server
sudo sshd -t
Perintah terakhir memvalidasi konfigurasi. Perbaiki kesalahan yang dilaporkan sebelum memulai ulang SSH. Pada distribusi dengan systemd aktif:
sudo systemctl enable --now ssh
sudo systemctl status ssh --no-pager
Jika systemd tidak tersedia, mulai dengan sudo service ssh start. Pastikan ada listener menggunakan ss -ltn, lalu coba ssh YOUR_LINUX_USER@localhost di Ubuntu. Ganti nama pengguna dengan akun Linux, bukan akun Windows. Perintah ini mengikuti dokumentasi OpenSSH Ubuntu.
Uji dari Windows sebelum mencoba komputer lain
Dari terminal Windows, coba:
ssh YOUR_LINUX_USER@localhost
Jika Windows juga menjalankan server SSH, periksa server mana yang menjawab. Jalankan uname -a setelah masuk untuk memastikan sesi tersebut Linux. Login Windows yang berhasil dapat menyamarkan fakta bahwa server WSL masih tidak terjangkau.
Catat tujuan, port, nama pengguna, dan pesan kesalahan yang persis untuk setiap uji. Membandingkan empat nilai ini lebih berguna daripada berulang kali memasang ulang OpenSSH.
Pilih jalur jaringan WSL yang tepat
Dengan NAT, koneksi dari komputer lain memerlukan rute melalui Windows menuju instans WSL. Microsoft mendokumentasikan penerusan port menggunakan netsh interface portproxy; periksa alamat WSL saat ini dengan wsl.exe hostname -I dan periksa penerusan yang ada menggunakan netsh interface portproxy show all. Alamat tujuan yang sudah usang patut dicurigai jika koneksi berhenti setelah WSL dimulai ulang.
Pada sistem Windows 11 yang didukung, jaringan mirrored menyediakan jalur berbeda. Dokumentasi Microsoft menetapkan Windows 11 22H2 atau lebih baru dan pengaturan .wslconfig berikut:
[wsl2]
networkingMode=mirrored
Dalam mode ini, periksa juga aturan firewall Hyper-V. Izinkan port SSH secara khusus, bukan menonaktifkan firewall. Ikuti petunjuk jaringan WSL Microsoft untuk versi Windows Anda.
Tafsirkan kesalahan sebelum mengubah pengaturan
| Hasil | Pemeriksaan berikutnya |
|---|---|
| Connection refused | Apakah SSH mendengarkan pada port tujuan? Apakah host yang dihubungi benar? |
| Connection timed out | Periksa rute jaringan, penerusan port, dan aturan firewall terkait. |
| Permission denied | Server sudah merespons; periksa nama pengguna Linux, kunci, dan pengaturan autentikasi. |
| Host key changed | Pastikan mesin atau distribusi memang dibuat ulang sebelum mengganti kunci tersimpan. |
Gunakan ssh -v YOUR_LINUX_USER@DESTINATION untuk melihat tahap yang gagal. Simpan catatan diagnostik singkat berisi lompatan terakhir yang berhasil. Contohnya, “Ubuntu localhost berfungsi; Windows localhost berfungsi; Mac ke IP Windows timeout” mengarahkan pemeriksaan ke jalur eksternal.
Buat penyiapan yang berhasil dapat diulang
Setelah koneksi berfungsi, catat mode jaringan, port server, tujuan penerusan, dan jaringan klien yang diizinkan. Uji autentikasi kunci sebelum menonaktifkan kata sandi, dan validasi konfigurasi SSH sebelum memulai ulang layanan. Biarkan sesi pertama tetap terbuka hingga sesi kedua berhasil.
Penulis:AIRouter
Tautan:https://www.airouter.me/blog/wsl-ssh-server-troubleshooting
Penggunaan ulang nonkomersial dengan atribusi (CC BY-NC-SA 4.0).