Membuka akses login ke server berupa user dan password via jaringan internet publik tentu memiliki resiko kerentanan keamanan terhadap serangan Brute Force dan juga potensi kelupaan password.

Untuk itu, dengan mengganti metode login berbasis password menjadi autentikasi berbasis kunci (key-based authentication) akan jauh lebih aman dan praktis.

Server hanya mengizinkan akses yang cocok dengan private key dan juga tidak diperlukan lagi password login. Ini disebabkan SSH Key menggunakan pasangan Private Key yang disimpan di Windows klien dan Public Key yang disimpan di server.

Berikut beberapa cara yang dapat diikuti untuk membuat SSh Key di PC/laptop Windows 10.

CMD/PowerShell

1. Buka PowerShell

    Buka PowerShell dengan menekan tombol Windows + X dan memilih “Windows PowerShell” dari menu yang muncul atau menekan tombol Windows + R lalu ketik CMD.

    2. Generate SSH Key Pair

    Untuk membuat SSH key pair (kunci publik dan pribadi), jalankan perintah berikut pada
    PowerShell/CMD :

    ssh-keygen

    Anda akan diminta untuk memasukkan lokasi penyimpanan kunci dan opsi memberikan passphrase jika diinginkan. Jika Anda tidak ingin menggunakan passphrase (tidak disarankan, tetapi opsional), cukup tekan Enter tanpa memasukkan apapun.

    3. Menampilkan SSH Public Key

    Setelah kunci berhasil dibuat, Anda dapat menampilkan kunci publik dengan perintah berikut :

    type C:\Users\username\.ssh\id_rsa.pub

    Gantilah username dengan nama pengguna Anda di Windows. Hasilnya akan menampilkan kunci publik yang dapat Anda salin dan tambahkan ke server atau layanan yang ingin Anda akses dengan menggunakan SSH Key ini.

    PuttyGen

    1. Buka PuttyGen

      Buka PuttyGen dengan mengetik PuttyGen di menu Search lalu klik Run As Administrator, seperti tampak pada gambar di bawah ini.

      2. Generate SSH Key

      Klik tombol generate untuk memulai membuat Public SSH Key, lalu simpan Private Key dengan klik tombol Save Private Key di PC/Laptop Anda, nama file boleh bebas dengan ekstensi file .ppk. Sebagai contoh my_private_key.ppk dan lain-lain.

      Jika Private Key sudah disimpan lanjutkan dengan mengcopy Public SSH Key yang ada di dalam kotak Public key for pasting into OpenSSH authorized_keys file lalu pastekan di sisi server dengan perintah berikut :

      ssh root@IP_SERVER
      cd .ssh
      nano authorized_keys

      Simpan dengan menekan tombol crtl +x lalu yes (y).

      3. Menambahkan Credential Private Key untuk Authentication

      Buka Putty, pada Connection pilih SSH, lalu pilih Credentials pada menu Auth. Anda akan diminta untuk memasukkan private key yang sudah dibuat sebelumnya dengan klik Browse… pada Private key file for authentication lalu pilih private key dimana disimpan. Seperti tampak pada gambar di bawah ini.

      Selanjutnya sebagai langkah terakhir untuk mengamankan akses ke server menggunakan key-based authentication dapat dilakukan dengan mengedit konfigurasi ssh server berikut:

      ssh root@IP_SERVER
      nano /etc/ssh/sshd_config
      
      PublickeyAuthentication yes
      PasswordAuthentication no

      Simpan dengan menekan ctrl + x lalu yes (y) lalu restart service ssh server dengan menjalankan perintah berikut :

      systemctl restart ssh

      Sekarang anda sudah selesai membuat SSH Key dan telah mengamankan akses remote server dengan key-based authentication tanpa perlu lagi memasukkan password setiap akses ke server dan juga mengamankan akses server dari serangan bruteforce.