Mengaktifkan SSH, Set Password & Private Key (Pemula)
Dari nol: nyalakan VPS di portal, buat password root, dan siapkan private key agar bisa login SSH dengan aman.
1. Nyalakan VPS agar SSH aktif
SSH hanya bisa dipakai saat server menyala. Buka portal.sahabatmobile.com → Console VPS, pilih server Anda, lalu tekan Nyalakan bila statusnya "Berhenti". Tunggu 1–2 menit sampai status berubah jadi "Berjalan".
2. Buat / reset password root
Di baris server yang sama, tekan Reset Password. Kolom "Password Baru" sudah diisi otomatis — boleh dipakai apa adanya atau diganti dengan password pilihan Anda. Tekan Simpan. Instance dimatikan sementara, password baru dibuat, lalu dikirim ke email Anda. Catat password ini sebelum lanjut.
3. Login pertama memakai password
Buka Terminal (Linux/macOS) atau PowerShell (Windows), lalu hubungi server dengan user root. Saat pertama kali akan muncul pertanyaan sidik jari server — jawab yes karena ini memang server Anda sendiri.
ssh root@IP_VPS_ANDA
# contoh:
# Are you sure you want to continue connecting (yes/no)? yes
4. Pastikan layanan SSH aktif di dalam VPS
Sudah masuk? Jalankan perintah ini sekali saja untuk memastikan layanan SSH menyala dan otomatis aktif setiap server hidup. Status harus menunjukkan active (running).
sudo systemctl enable --now ssh
sudo systemctl status ssh
5. Buat private key di laptop (bukan di VPS)
Private key adalah "kunci" yang tetap disimpan di laptop dan TIDAK PERNAH dikirim ke siapa pun. Public key-nya yang nanti dipasang ke VPS. Pakai tipe ed25519 karena pendek dan modern. Kosongkan passphrase bila ingin login tanpa mengetik sandi, atau isi untuk keamanan ekstra. Di Windows jalankan perintah yang sama di PowerShell.
ssh-keygen -t ed25519 -C "laptop-saya" -f ~/.ssh/id_vps_saya
# hasil:
# ~/.ssh/id_vps_saya -> PRIVATE key (rahasia, jangan dibagikan)
# ~/.ssh/id_vps_saya.pub -> PUBLIC key (yang dipasang ke VPS)
cat ~/.ssh/id_vps_saya.pub
6. Pasang public key ke VPS
Cara termudah di Linux/macOS adalah ssh-copy-id. Di Windows/PowerShell, salin isi file .pub lalu tempel ke authorized_keys di VPS dengan izin yang benar (700 untuk folder, 600 untuk file) — SSH menolak key bila izinnya terlalu longgar.
# Cara A (Linux/macOS):
ssh-copy-id -i ~/.ssh/id_vps_saya.pub root@IP_VPS_ANDA
# Cara B (manual, semua OS) — di dalam VPS:
mkdir -p ~/.ssh && chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys # tempel isi file .pub, lalu simpan
chmod 600 ~/.ssh/authorized_keys
7. Login memakai private key
Buka jendela Terminal BARU (jangan tutup jendela lama dulu sebagai cadangan), lalu login dengan -i yang menunjuk file private key. Bila langsung masuk tanpa diminta password, key sudah berhasil dipasang.
ssh -i ~/.ssh/id_vps_saya root@IP_VPS_ANDA
# berhasil = langsung masuk tanpa diminta password
8. (Opsional) Matikan login password
Setelah key terbukti bisa dipakai di jendela baru, matikan login password agar serangan brute-force mustahil. Edit /etc/ssh/sshd_config, restart SSH, lalu tes login ulang — harus tetap bisa masuk memakai key.
sudo nano /etc/ssh/sshd_config
# ubah/tambah 2 baris ini:
# PasswordAuthentication no
# PermitRootLogin prohibit-password
sudo systemctl restart ssh
# tes dari jendela baru:
ssh -i ~/.ssh/id_vps_saya root@IP_VPS_ANDA
9. Kalau ada masalah
Permission denied (publickey) — public key belum terpasang atau izin folder .ssh salah; ulangi langkah 6. Terkunci total — masuk lewat Console di portal (konsol web, bukan SSH), lalu perbaiki authorized_keys dari sana. WARNING: UNPROTECTED PRIVATE KEY FILE (Windows) — perbaiki izin file dengan icacls "key" /inheritance:r /grant:r "%USERNAME%:F". Jangan pernah membatasi login admin berdasarkan IP karena IP internet Anda bisa berubah; private key + fail2ban sudah cukup aman.