Konfigurasi SSH Server Debian 12 dan Cara Remote dari Windows

Daftar Isi
Konfigurasi SSH server Debian 12 dan 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.

Install openssh-server di Debian 12
openssh-server ternyata sudah terpasang sejak instalasi

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.

systemctl status ssh active running Debian 12
Layanan ssh enabled dan active (running)

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.

Cek IP dan port 22 SSH di Debian 12
IP 192.168.56.10 di enp0s8 dan port 22 dalam status LISTEN

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.

Remote SSH Debian 12 dari CMD Windows
Konfirmasi fingerprint, isi password, lalu perintah berjalan di 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.

SSH root Permission denied di Debian 12
Login root dengan password ditolak meski passwordnya benar

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.

sshd_config PermitRootLogin prohibit-password Debian 12
Nilai bawaan sshd_config di Debian 12

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.

Setting PuTTY untuk remote SSH Debian 12
Host 192.168.56.10 port 22, disimpan sebagai sesi Debian12-Server

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.

PuTTY Security Alert host key Debian 12
Fingerprint sama dengan di CMD, 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.

Login SSH Debian 12 dengan PuTTY berhasil
Sesi pts/0 berasal dari laptop 192.168.56.1

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.

Membuat session SSH Debian 12 di MobaXterm
Session SSH dengan Remote host dan Username

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.

Remote SSH Debian 12 dengan MobaXterm dan SFTP browser
Terminal, SFTP browser, dan bar pemantau server dalam satu jendela

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.

ssh-keygen ed25519 di Windows
Pasangan kunci ed25519 dibuat di folder .ssh milik user Windows

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------.

Login SSH key tanpa password ke Debian 12
Kunci publik terkirim, login berikutnya tanpa password

Perbandingan Tiga Klien SSH

KlienPemasanganKelebihanCocok untuk
CMD / PowerShell (OpenSSH)Bawaan Windows 10 dan 11Tanpa instal, perintah sama dengan di Linux, mendukung SSH keyRemote cepat dan belajar perintah ssh
PuTTYInstaller 3,8 MBRingan, sesi bisa disimpan, banyak dipakai di lab sekolahKomputer lab dan laptop lama
MobaXterm HomeInstaller zip 45 MBTerminal bertab, SFTP browser, pemantau serverMengelola 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