Dengan key authentication akan memberikan kenyamanan dan keamanan untuk login melalui SSH karena user tidak perlu memasukkan username dan password seperti biasanya (dan rawan di brute-force). SSH keys lebih aman daripada teknik password biasa karena private key yang digunakan untuk mengamankan koneksi hanya dipegang oleh orang yang berhak dan tidak dishare ke pihak lain. Private key juga dapat dienkripsi sehingga isinya tidak dapat dibaca dengan mudah.
SSH key selalu berpasang-pasangan; private dan public key. Public key di-upload ke server tujuan, dan dapat disebarkan secara bebas. Sedangkan private key harus selalu kamu amankan di komputer kamu. Sebagai ilustrasi, ibaratkan SSH key sebagai gembok dan kunci. Public key merupakan gembok, yang dapat dipindahkan atau disebar ke banyak lokasi, sedangkan private key merupakan kunci untuk membuka gembok tersebut sehingga harus selalu disimpan dengan aman. Agar aman kunci ini juga disimpan di dalam box, dan untuk membuka box ini Anda harus memasukkan kombinasi karakter (passphrase).
Pada panduan kali ini, kami akan menerangkan cara menggunakan public key authentication untuk login ke server via SSH di Windows. Secara garis besar, kamu terlebih dahulu harus generate key, lalu upload key ke server tujuan. Untuk panduan lengkapnya yuk ikutin aja tutorial di bawah ini :
Generate Key
Untuk generate SSH key di Windows, kamu dapat menggunakan program PuTTY. PuTTY merupakan program open source yang sangat terkenal di Windows dan banyak digunakan orang untuk melakukan koneksi SSH ke remote server. PuTTY dapat didownload melalui website berikut : http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Kamu dapat mendownload installer version berupa package yang sudah termasuk beberapa utility PuTTY (putty.exe, puttygen.exe, pscp.exe, dll) atau versi portable dari program putty yang diperlukan.
PuTTY Key Generator
Untuk generate key, kamu membutuhkan program puttygen. Pastikan kamu mendownload puttygen dan jalankan program tersebut
- Pada halaman untuk generate key, pastikan kamu memilih RSA di bagian bawah, dan untuk lebih meningkatkan level enkripsi ubah angka 2048 ke 4096 bits. Klik Generate untuk mulai generate key.
- Saat puttygen mulai meng-generate key, gerakkan mouse di area kosong puttygen sampai bar hijau menjadi penuh. Program puttygen menggunakan random input dari mouse untuk generate key yang unik.
- Copy text yang berisi key di dalam box dan paste di Notepad. Key ini akan diperlukan nantinya untuk login ke remote server.
- Masukkan key passphrase di kolom yang tersedia, dan masukkan sekali lagi untuk konfirmasi. Passphrase ini dapat kamu isikan dengan nilai apapun, namun pastikan passphrase ini unik dan sulit ditebak. Dan jangan sampai lupa dengan passphrase ini karena kamu akan membutuhkannya lebih lanjut pada saat login ke server menggunakan SSH key.
Klik Save private key dan simpan key ini di komputer kamu.
Koneksi ke Remote Server
- Jalankan program PuTTY.exe
- Pada menu sebelah kiri, pilih Connection > SSH > Auth. Lalu browse private key yang sudah disimpan di bagian sebelumnya (step ke-6).
- Untuk memulai sesi SSH ke remote server, klik menu Sessions, lalu masukkan hostname atau IP address server tujuan. Untuk port jika masih default biarkan 22, namun jika kamu sudah merubah port SSH ke port lain masukkan port tersebut di kolom port. Klik Open untuk memulai koneksi.
Opsional : Kamu juga dapat menyimpan session ini dengan mengklik tombol Save. Selanjutnya kamu dapat langsung login ke server tujuan tanpa perlu memasukkan kembali IP atau hostname dan portnya dengan memilih di bagian saved sessions.
- Karena kita belum upload public-key ke server tujuan, maka kamu masih harus memasukkan username dan password untuk login ke server tujuan. Dan di console putty juga akan muncul keterangan “Server refused our key” namun kamu tetap dapat login seperti biasa.
- Jalankan command berikut untuk membuat folder .ssh di server dan membuat file blank bernama authorized_keys di dalam folder tersebut serta mengatur permission terhadap folder ssh.
1mkdir ~/.ssh; touch ~/.ssh/authorized_keys; chmod 700 ~/.ssh - Edit file authorization_keys yang baru saja dibuat dengan menggunakan text editor di Linux. Di contoh ini kita gunakan nano.
1nano ~/.ssh/authorized_keys - Copy isi public-key yang sudah di-generate oleh Puttygen sebelumnya dan paste ke dalam file ini. Save dan exit jika sudah ok, di nano bisa dengan menekan tombol CTRL+X dan pilih Yes.
- Untuk alasan security, ubah permission filenya setelah kamu selesai mengcopy key ke dalam file authorized_keys tersebut.
1chmod 600 ~/.ssh/authorized_keys - Exit PuTTY, lalu coba lakukan kembali koneksi ke server. Kali ini untuk login ke server kamu tidak akan diminta memasukkan username dan password account di server seperti biasa, melainkan diminta untuk memasukkan username dan passphrase dari SSH-key yang sudah di-generate dan di-upload.
Note : Pastikan kamu sudah browse file private-key di Putty > Connection > SSH > Auth.
Selamat, kamu sudah berhasil login ke server menggunakan SSH key.
Komentar