Linux

Cara Login ke VPS Linux Menggunakan SSH untuk Pemula

26 September 2026 5 min baca
Cara Login ke VPS Linux Menggunakan SSH untuk Pemula

Setelah membeli VPS Linux, langkah pertama adalah login via SSH (Secure Shell), protokol standar untuk mengakses server Linux dari jarak jauh. Panduan ini mengikuti urutan yang aman: login pertama, membuat user non-root, memasang SSH key, mengganti port, mengaktifkan firewall dan Fail2Ban, lalu mengatasi error yang sering muncul. Contoh memakai Ubuntu 22.04/24.04.

1. Yang Perlu Disiapkan

  • IP address VPS (di panduan ini ditulis IP_VPS)
  • Username dan password root dari email atau panel provider
  • Port SSH, defaultnya 22
  • Terminal: PowerShell atau Windows Terminal di Windows 10/11, Terminal di macOS dan Linux (OpenSSH sudah bawaan)

2. Login Pertama Kali

Buka terminal di komputer Anda, lalu jalankan:

ssh root@IP_VPS

Pada koneksi pertama akan muncul pertanyaan verifikasi fingerprint server. Ini wajar: SSH belum mengenal server Anda dan meminta konfirmasi. Ketik yes, tekan Enter, lalu masukkan password root. Fingerprint disimpan di ~/.ssh/known_hosts sehingga pertanyaan ini tidak muncul lagi.

3. Buat User Non-Root dengan Sudo

Bekerja terus sebagai root berisiko, karena satu salah ketik bisa merusak sistem. Buat user harian dengan hak sudo:

adduser adminuser
usermod -aG sudo adminuser

Isi password yang kuat, bidang lain boleh dikosongkan dengan Enter. Ganti adminuser dengan nama pilihan Anda.

4. Buat SSH Key di Komputer Lokal

SSH key jauh lebih aman daripada password karena tidak bisa ditebak lewat brute force. Jalankan di komputer Anda, bukan di VPS:

ssh-keygen -t ed25519 -C "vps-$(date +%Y%m%d)"

Tekan Enter untuk lokasi default dan isi passphrase agar private key tetap terlindungi jika laptop hilang. Hasilnya dua file di folder ~/.ssh/:

  • id_ed25519: private key, rahasia, jangan pernah dibagikan
  • id_ed25519.pub: public key, boleh dipasang di server

Di PowerShell Windows, $(date +%Y%m%d) tidak berlaku. Cukup ganti komentarnya dengan teks biasa, misalnya -C "vps-saya".

5. Salin Public Key ke VPS

Di Linux dan macOS:

ssh-copy-id adminuser@IP_VPS

Di Windows (PowerShell), ssh-copy-id tidak tersedia, jadi gunakan:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh adminuser@IP_VPS "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Uji dengan ssh adminuser@IP_VPS. Anda harus masuk tanpa password (hanya passphrase key bila Anda mengisinya). Jangan lanjut sebelum langkah ini berhasil.

6. Aktifkan Firewall UFW

Buka dulu port yang dibutuhkan sebelum firewall dinyalakan, agar Anda tidak terkunci dari server:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 2222/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status numbered

Port 2222 dibuka lebih dulu karena akan dipakai pada langkah berikutnya. Port 80 dan 443 hanya perlu jika VPS menjalankan web server.

7. Ganti Port SSH Default

Mengganti port tidak menggantikan keamanan lain, tetapi mengurangi ribuan percobaan login otomatis ke port 22. Edit konfigurasi:

sudo nano /etc/ssh/sshd_config

Tambahkan baris Port 2222 di bawah #Port 22, tanpa menghapus port 22 dulu. Periksa sintaks lalu restart layanan:

sudo sshd -t
sudo systemctl restart ssh

Pada Ubuntu 24.04 yang memakai ssh.socket, jalankan sudo systemctl daemon-reload dan sudo systemctl restart ssh.socket. Jangan tutup sesi yang sedang aktif. Buka terminal baru dan uji:

ssh -p 2222 adminuser@IP_VPS

Kalau berhasil, kembali ke sshd_config, hapus baris Port 22, lalu restart lagi dan tutup port lama di firewall dengan sudo ufw delete allow 22/tcp.

8. Nonaktifkan Login Root dan Password

Setelah login dengan key terbukti berjalan di port baru, kunci akses lewat password:

sudo nano /etc/ssh/sshd_config

Pastikan baris berikut aktif (tanpa tanda #):

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AllowUsers adminuser

Cek sintaks dengan sudo sshd -t, restart layanan seperti langkah 7, lalu uji login dari terminal baru sebelum menutup sesi lama.

9. Pasang Fail2Ban

Fail2Ban memblokir IP yang berulang kali gagal login:

sudo apt update
sudo apt install fail2ban -y
sudo nano /etc/fail2ban/jail.local

Isi file dengan pengaturan berikut:

[sshd]
enabled = true
port = 2222
maxretry = 3
findtime = 10m
bantime = 1h
backend = systemd

Aktifkan dan cek statusnya:

sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

10. Troubleshooting Error Umum

Permission denied (publickey)

Public key belum terpasang atau izin file salah. Periksa ~/.ssh/authorized_keys di server, pastikan izinnya chmod 700 ~/.ssh dan chmod 600 ~/.ssh/authorized_keys, dan pemiliknya adalah user yang login. Gunakan ssh -v untuk melihat key mana yang dicoba.

Connection refused

Port salah, layanan SSH tidak berjalan, atau firewall menolak. Cek dengan sudo systemctl status ssh dan sudo ufw status, dan pastikan Anda memakai opsi -p dengan port yang benar.

Connection timed out

Paket tidak sampai ke server. Penyebab umum: IP salah, VPS mati, atau firewall (termasuk firewall di panel provider) menjatuhkan koneksi. Cek status VPS di panel provider dan gunakan console web bila ada.

Host key verification failed

Terjadi bila VPS diinstal ulang atau IP dipakai server lain. Jika Anda yakin penyebabnya wajar, hapus catatan lama dengan ssh-keygen -R IP_VPS, lalu sambung ulang.

Too many authentication failures

Terlalu banyak key di ssh-agent. Paksa pakai satu key: ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 adminuser@IP_VPS.

Ringkasan

Urutan aman untuk VPS baru: login pertama, buat user sudo, pasang SSH key, aktifkan UFW, ganti port, matikan login root dan password, lalu pasang Fail2Ban. Selalu uji login di terminal baru sebelum menutup sesi lama supaya tidak terkunci.

Artikel terkait: Apa Itu VPS? Panduan Lengkap untuk Pemula | Cara Memilih Spesifikasi VPS