Konfigurasi SSH Server Debian 12 dan Cara Remote dari Windows
Server Linux di dunia kerja hampir tidak pernah dikelola langsung dari layarnya. Admin cukup duduk di laptop, membuka SSH, lalu mengetik perintah seolah sedang berada di depan server. Di lab VirtualBox pun begitu: jendela konsol VirtualBox tidak bisa copy paste, hurufnya kecil, dan harus bolak balik klik ke dalam VM. Begitu SSH jalan, semua pekerjaan berikutnya jauh lebih nyaman.
Di panduan ini saya praktikkan konfigurasi SSH server di Debian 12, lalu me-remote server itu dari Windows dengan tiga aplikasi berbeda: SSH bawaan Windows lewat Command Prompt, PuTTY, dan MobaXterm. Di bagian akhir ada cara login tanpa password memakai SSH key. Servernya adalah Debian 12 dari panduan cara install Debian 12 server di VirtualBox dengan IP 192.168.56.10, dan laptop Windows 11 menjadi klien lewat jaringan Host-only VirtualBox.
Cek dan Install OpenSSH Server di Debian 12
SSH server di Debian disediakan paket openssh-server. Saat instalasi Debian ada pilihan software bernama SSH server, dan pilihan itu tercentang secara bawaan. Kalau Anda tidak menghapus centangnya, paketnya sudah terpasang. Untuk memastikannya, jalankan saja perintah install.
sudo apt install openssh-server -y
Di server saya hasilnya openssh-server is already the newest version (1:9.2p1-2+deb12u10), tanda paket sudah ada sejak instalasi. Kalau di server Anda belum terpasang, perintah yang sama akan mengunduh dan memasangnya. Perintah sudo di sini bisa dipakai karena user nagi sudah diberi hak sudo di panduan cara membuat user dan install sudo di Debian 12.

Berikutnya cek apakah layanannya berjalan.
systemctl status ssh --no-pager
Perhatikan dua baris yang saya tandai. enabled berarti SSH otomatis menyala setiap server boot, dan active (running) berarti layanan sedang berjalan. Nama layanannya di Debian adalah ssh, sedangkan program yang bekerja di belakangnya bernama sshd. Kalau statusnya inactive, nyalakan dengan sudo systemctl enable --now ssh.

Pastikan IP Server dan Port 22 Terbuka
Klien butuh alamat IP server. Cek sekalian port yang sedang didengarkan SSH.
ip -br a
ss -tln | grep :22
Kartu enp0s8 memakai IP 192.168.56.10 yang dipasang di panduan cara setting IP static di Debian 12. Dua baris LISTEN di port 22 menunjukkan SSH siap menerima koneksi dari IPv4 maupun IPv6. Kalau VM Anda hanya memakai adapter NAT, laptop tidak bisa langsung menjangkau IP 10.0.2.15, jadi tambahkan dulu adapter Host-only seperti di panduan IP static tadi.

Cara 1: Remote SSH dari Command Prompt Windows
Windows 10 dan 11 sudah membawa OpenSSH client, jadi tidak perlu memasang apa pun. Di laptop saya versinya OpenSSH_for_Windows 9.5p2. Buka Command Prompt, lalu ketik perintah dengan format user@ip.
ssh nagi@192.168.56.10
Saat pertama kali terhubung ke server, SSH menampilkan fingerprint kunci server dan bertanya apakah koneksi mau dilanjutkan. Ketik yes, bukan sekadar y. Fingerprint itu disimpan di file known_hosts, sehingga pertanyaan yang sama tidak muncul lagi. Setelah itu masukkan password user nagi. Saat diketik, password memang tidak tampil sama sekali, jadi ketik saja lalu tekan Enter.
Begitu prompt berubah menjadi nagi@server:~$, perintah apa pun yang diketik di CMD sudah berjalan di Debian. Untuk membuktikannya saya jalankan hostname, whoami, dan ip -br a show enp0s8, dan hasilnya memang milik server.

Untuk keluar dari sesi SSH, ketik exit. Prompt kembali ke D:\> milik Windows.
Kenapa Login root Lewat SSH Ditolak
Saya coba juga login langsung sebagai root dengan password root yang benar.
ssh root@192.168.56.10
Tiga kali password diisi, tiga kali pula ditolak dengan pesan Permission denied, lalu koneksi diputus. Ini bukan password yang salah.

Penyebabnya ada di file konfigurasi SSH server, /etc/ssh/sshd_config. Saya tampilkan baris yang penting saja.
grep -n -E -i '^.?(port|permitrootlogin|passwordauthentication|pubkeyauthentication)' /etc/ssh/sshd_config
Baris yang diawali tanda pagar adalah komentar, tapi nilainya sama dengan nilai bawaan OpenSSH. Port 22 adalah port SSH, PasswordAuthentication yes mengizinkan login dengan password, dan PubkeyAuthentication yes mengizinkan login dengan SSH key. Yang membuat root ditolak adalah PermitRootLogin prohibit-password: root boleh masuk lewat SSH hanya dengan key, tidak dengan password. Pengaturan ini sebaiknya dibiarkan. Login sebagai user biasa, lalu pakai sudo atau su - saat butuh hak root.

Kalau suatu saat Anda mengubah isi file ini, misalnya mengganti port, hapus tanda pagar di baris yang diubah, simpan, lalu cek dan muat ulang layanannya dengan sudo sshd -t dan sudo systemctl restart ssh. Perintah sshd -t mengecek salah ketik lebih dulu, supaya SSH tidak mati karena konfigurasi yang rusak.
Cara 2: Remote SSH dengan PuTTY
PuTTY adalah klien SSH gratis paling lama dan paling sering dipakai di lab sekolah. Saya memakai PuTTY 0.85 versi 64 bit dari situs resminya, chiark.greenend.org.uk. Hati hati dengan situs lain yang meniru nama PuTTY.
Di jendela PuTTY Configuration, isi Host Name dengan 192.168.56.10, port biarkan 22, dan connection type tetap SSH. Supaya tidak mengetik ulang setiap kali, tulis nama sesi di kolom Saved Sessions, misalnya Debian12-Server, lalu klik Save. Lain kali cukup klik dua kali nama sesi itu. Setelah tersimpan, klik Open.

PuTTY menyimpan daftar server tepercaya sendiri, terpisah dari known_hosts milik CMD. Karena itu muncul jendela PuTTY Security Alert. Fingerprint yang tertulis, SHA256:4HhHlGP...5kGADg, sama persis dengan yang tadi muncul di CMD, jadi servernya memang server yang sama. Klik Accept.

Di baris login as: ketik nagi, lalu isi password. Setelah masuk, saya jalankan who dan uptime. Perintah who memperlihatkan dua sesi user nagi: tty1 adalah konsol VirtualBox, sedangkan pts/0 adalah sesi SSH dari 192.168.56.1, yaitu laptop Windows.

Cara 3: Remote SSH dengan MobaXterm
MobaXterm adalah klien SSH yang lebih lengkap. Versi Home Edition gratis untuk pemakaian pribadi dan bisa diunduh dari mobaxterm.mobatek.net. Saya memakai versi 26.6. Saat pertama kali dibuka, Windows Firewall bertanya soal MobaXterm embedded X11 server. Fitur X11 itu tidak dipakai untuk SSH biasa, jadi Allow atau Cancel tidak berpengaruh pada praktik ini.
Klik ikon Session di pojok kiri atas, pilih SSH, lalu isi Remote host 192.168.56.10 dan Username nagi. Port tetap 22. Klik OK.

Setelah password diisi, MobaXterm menawarkan Master Password untuk menyimpan password secara terenkripsi. Kalau tidak ingin password tersimpan di laptop, klik Cancel. Sesi tetap berjalan normal.
Kelebihan MobaXterm terlihat setelah login. Di sebelah kiri otomatis muncul SSH browser (SFTP) yang menampilkan isi folder /home/nagi, jadi file bisa diunduh atau diunggah dengan seret dan lepas. Di bagian bawah ada bar pemantau yang menunjukkan pemakaian CPU, RAM 0,23 GB dari 0,94 GB, lalu lintas jaringan, lama server menyala, dan kapasitas disk. Perintah who di terminalnya juga memperlihatkan sesi pts/0 dari 192.168.56.1.

Login SSH Tanpa Password dengan SSH Key
Mengetik password setiap kali remote lama lama melelahkan. SSH key menyelesaikannya: laptop menyimpan kunci privat, server menyimpan kunci publik, dan login terjadi tanpa password. Buat pasangan kunci di Command Prompt.
ssh-keygen -t ed25519 -C nagi-windows -f %USERPROFILE%\.ssh\debianlab_ed25519
Opsi -t ed25519 memilih jenis kunci yang modern dan pendek, -C memberi label, dan -f menentukan nama file. Pertanyaan passphrase saya lewati dengan Enter dua kali supaya benar benar tanpa password. Di laptop yang dipakai bersama, sebaiknya isi passphrase. Hasilnya dua file: debianlab_ed25519 adalah kunci privat yang tidak boleh dibagikan, dan debianlab_ed25519.pub adalah kunci publik yang dikirim ke server.

Windows tidak punya perintah ssh-copy-id seperti di Linux, jadi kunci publik dikirim dengan perintah berikut. Perintah ini masih meminta password sekali, karena kunci di server belum terpasang.
type %USERPROFILE%\.ssh\debianlab_ed25519.pub | ssh nagi@192.168.56.10 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Isi kunci publik dibaca oleh type, dikirim lewat SSH, lalu ditambahkan ke file ~/.ssh/authorized_keys milik nagi. Perintah chmod penting, karena SSH server menolak key kalau folder .ssh atau file authorized_keys bisa dibaca user lain. Sekarang coba login dengan menyebut kunci privatnya.
ssh -i %USERPROFILE%\.ssh\debianlab_ed25519 nagi@192.168.56.10
Kali ini tidak ada pertanyaan password sama sekali, langsung masuk ke nagi@server:~$. Di server, file authorized_keys berisi kunci berlabel nagi-windows dengan izin -rw-------, dan folder .ssh berizin drwx------.

Perbandingan Tiga Klien SSH
| Klien | Pemasangan | Kelebihan | Cocok untuk |
|---|---|---|---|
| CMD / PowerShell (OpenSSH) | Bawaan Windows 10 dan 11 | Tanpa instal, perintah sama dengan di Linux, mendukung SSH key | Remote cepat dan belajar perintah ssh |
| PuTTY | Installer 3,8 MB | Ringan, sesi bisa disimpan, banyak dipakai di lab sekolah | Komputer lab dan laptop lama |
| MobaXterm Home | Installer zip 45 MB | Terminal bertab, SFTP browser, pemantau server | Mengelola server sekaligus memindahkan file |
Ketiganya memakai protokol yang sama, jadi server Debian tidak perlu diatur berbeda untuk tiap aplikasi. Kalau koneksi gagal, periksa urutan yang sama: layanan ssh harus active (running), IP server bisa di-ping dari laptop, dan VM punya adapter yang satu jaringan dengan laptop. Langkah di panduan ini juga hampir sama di Debian 13. Server yang sudah bisa di-remote ini akan dipakai terus di panduan berikutnya, dan seluruh seri bisa Anda ikuti di kategori Debian. Layanan pertama yang dipasang berikutnya adalah DHCP, di panduan konfigurasi DHCP server Debian 12 di VirtualBox.
Posting Komentar