{"type":"pdf","content":"# PANDUAN KEAMANAN VPS: CARA MEMBUAT DAN MEMASANG SSH KEY\n\nMenggunakan **SSH Key** (kunci kriptografi) jauh lebih aman daripada menggunakan kata sandi biasa karena hampir mustahil untuk ditembus menggunakan metode *brute-force*. Dokumen ini berisi panduan langkah demi langkah untuk mengamankan VPS Anda.\n\n---\n\n## 1. Perbandingan Keamanan: Password vs SSH Key\n\n| Parameter | Autentikasi Password | Autentikasi SSH Key |\n| :--- | :--- | :--- |\n| **Keamanan** | Rentan terhadap serangan *brute-force* dan *dictionary attack*. | Sangat aman, hampir mustahil ditembus tanpa kunci privat fisik. |\n| **Kemudahan** | Harus menghafal\/mengetik password rumit setiap login. | Login otomatis dan cepat tanpa mengetik password (jika tanpa passphrase). |\n| **Metode Kerja** | Menggunakan pencocokan string teks biasa yang di-hash. | Menggunakan pasangan kunci kriptografi (Kunci Publik & Kunci Privat). |\n| **Resiko Kebocoran** | Tinggi jika password dicatat atau terendus keylogger. | Sangat rendah, selama kunci privat disimpan dengan aman di perangkat lokal. |\n\n---\n\n## 2. Langkah 1: Membuat SSH Key Pair di Komputer Lokal\n\nAnda harus membuat pasangan kunci (Public Key dan Private Key) di komputer pribadi Anda terlebih dahulu.\n\n### A. Menggunakan Linux \/ macOS \/ Windows (PowerShell\/CMD)\n1. Buka **Terminal** atau **PowerShell** Anda.\n2. Jalankan perintah berikut untuk membuat key pair baru menggunakan algoritma **Ed25519** (sangat direkomendasikan karena cepat dan aman):\n   ```bash\n   ssh-keygen -t ed25519 -C \"admin-vps@email.com\"\n   ```\n3. Tekan **Enter** untuk menyimpan di lokasi default (`~\/.ssh\/id_ed25519`).\n4. Masukkan **passphrase** (opsional, tetapi sangat direkomendasikan sebagai password tambahan untuk mengamankan file kunci privat Anda).\n\n### B. Menggunakan Windows (Aplikasi PuTTYgen)\n1. Buka aplikasi **PuTTYgen**.\n2. Pada bagian *Parameters*, pilih tipe kunci **Ed25519** atau **RSA (4096 bits)**.\n3. Klik tombol **Generate** dan gerakkan kursor mouse Anda secara acak di area kosong untuk membuat enkripsi.\n4. Simpan **Private Key** (`.ppk`) dan **Public Key** ke folder aman di komputer Anda.\n\n---\n\n## 3. Langkah 2: Mengunggah Public Key ke VPS\n\nPublic Key harus diletakkan di dalam VPS, sedangkan Private Key harus tetap berada di komputer lokal Anda dan **tidak boleh disebarkan**.\n\n### Metode A: Menggunakan Perintah Otomatis (Linux \/ macOS)\nJalankan perintah berikut dari terminal komputer lokal Anda:\n```bash\nssh-copy-id -i ~\/.ssh\/id_ed25519.pub username@IP_ADDRESS_VPS\n```\n*Ganti `username` dengan user VPS Anda (misal: `root`) dan `IP_ADDRESS_VPS` dengan IP server Anda.*\n\n### Metode B: Menggunakan Cara Manual (Windows \/ Semua OS)\n1. Salin seluruh isi file public key Anda (`id_ed25519.pub` atau teks yang ditampilkan di kotak atas PuTTYgen).\n2. Login ke VPS Anda menggunakan password untuk terakhir kalinya.\n3. Buat direktori `.ssh` dan atur hak aksesnya jika belum ada:\n   ```bash\n   mkdir -p ~\/.ssh\n   chmod 700 ~\/.ssh\n   ```\n4. Buka atau buat file `authorized_keys` menggunakan text editor:\n   ```bash\n   nano ~\/.ssh\/authorized_keys\n   ```\n5. Tempelkan (paste) isi public key Anda ke dalam file tersebut.\n6. Simpan file (Tekan `Ctrl+O`, lalu `Enter`, kemudian `Ctrl+X` untuk keluar dari Nano).\n7. Atur hak akses file agar aman:\n   ```bash\n   chmod 600 ~\/.ssh\/authorized_keys\n   ```\n\n---\n\n## 4. Langkah 3: Menonaktifkan Autentikasi Password (Hardening)\n\n**PENTING:** Sebelum melakukan langkah ini, pastikan Anda sudah berhasil login ke VPS menggunakan SSH Key di jendela terminal baru. **Jangan tutup sesi terminal yang sedang aktif** untuk menghindari terkunci di luar server jika terjadi kesalahan konfigurasi.\n\n1. Buka file konfigurasi SSH Daemon di VPS:\n   ```bash\n   sudo nano \/etc\/ssh\/sshd_config\n   ```\n2. Cari baris-baris berikut dan ubah nilainya menjadi seperti di bawah ini (hilangkan tanda pagar `#` di depannya jika ada):\n   ```text\n   PasswordAuthentication no\n   PubkeyAuthentication yes\n   PermitRootLogin prohibit-password\n   ```\n3. Simpan file tersebut dan keluar dari editor.\n4. Restart layanan SSH untuk menerapkan perubahan:\n   * **Ubuntu \/ Debian:**\n     ```bash\n     sudo systemctl restart ssh\n     ```\n   * **CentOS \/ RHEL \/ Fedora:**\n     ```bash\n     sudo systemctl restart sshd\n     ```\n\n---\n\n## 5. Kesimpulan & Langkah Lanjutan\nDengan menonaktifkan `PasswordAuthentication`, peretas tidak akan bisa lagi melakukan serangan brute-force menebak password VPS Anda. Hanya komputer yang memegang **Private Key** yang cocok yang dapat mengakses server."}