Lompat ke konten Lompat ke sidebar Lompat ke footer

Remote Ssh Memakai Autentikasi Key


SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita ingin meremot server yang berada di luar lokasi kita. Jika dibandingkan dengan telnet, memakai ssh akan lebih baik alasannya yakni adanya enkripsi terhadap koneksi yang berlangsung.

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key

Akan tetapi, meskipun dirasa sudah cukup aman, melaksanakan remote ssh dengan metode autentikasi username dan password masih memeiliki kelemahan/celah. Yakni adanya kemungkinan untuk dibobol memakai serangan brute force.

Belum lagi kalau kita lupa dengan password usernya. Kalau kita hanya meremot satu server saja mungkin kita masih sanggup mengingat passwordnya. Namun bila kita harus melaksanakan remot di beberapa server yang passwordnya mungkin berbeda-beda, bukan mustahil kita sanggup lupa dengan salah satu passwordnya.
Untuk mengatasi permasalahan di atas, kita sanggup memakai metode autentikasi key untuk remot ssh. Dengan memakai autentikasi key, kita tidak perlu memasukkan password milik user. Client cukup melaksanakan initial connection dengan memakai key yang sudah di-generate oleh server atau client itu sendiri.

Metode autentikasi key memakai dua buah key yakni public key dan privat key. Public key akan diletakkan di server, sementara privat key diletakkan di client yang akan meremote server.

Dari dua buah kunci tersebut. Yang sangat penting yakni privat key. Sebab privat key ini menjadi kunci untuk membuka public key yang sudah tersimpan di server. Oleh alasannya yakni itu, penting untuk selalu menjaga privat key ini. Apabila hingga diketahui oleh pihak yang tidak bertanggung jawab maka ia sanggup memanfaatkan privat key tersebut untuk mengakses server.

Untuk menciptakan (generate) key baik public maupun privat key, sanggup dilakukan di sisi server maupun di sisi client. Apabila proses generate key dilakukan di sisi server, maka client harus mengunduh private key yang sudah dibentuk oleh server tadi.

Sedangkan bila proses generate key dilakukan di sisi client, maka public key harus diupload ke server.

Catatan : untuk melaksanakan tutorial ini, pastikan kalian sudah mengaktifkan service ssh server dan juga sudah mengkonfigurasinya. Apabila belum silahkan lihat postingan wacana konfigurasi SSH Server.

Membuat (Generate) Key

Pada tutorial ini, server yang dipakai yakni Ubuntu 16.04. Proses generate key akan dilakukan pada server. Sehingga untuk sanggup mengakses server, client perlu mempunyai private key-nya.

Perintah untuk menciptakan key yakni :
ssh-keygen -t rsa

Kemudian tentukan lokasi untuk menyimpan key nanti. Secara default, lokasi untuk menyimpan key berada di direktori /home/nama_user/.ssh dengan nama key-nya yakni id.rsa.
Generating public/private rsa key pair. Enter file in which to save the key (/home/xenial/.ssh/id_rsa): /home/xenial/.ssh/id_rsa already exists. Overwrite (y/n)? y 

Apabila direktori belum ada, maka sistem akan membuatnya terlebih dahulu, Namun bila direktori sudah pernah dibentuk sebelumnya, akan muncul peringatan untuk melaksanakan overwrite.

Selanjutnya yakni memasukkan passphrase. Passphrase ini dipakai untuk autentikasi ketika kita akan membuka publick  key memakai private key nanti. Apabila tidak ingin memakai passphrase, maka skip langkah tersebut dengan menekan tombol Enter.
Enter passphrase (empty for no passphrase): Enter same passphrase again: 

Setelah proses generate selesai, sistem akan memberitahukan letak public key dan privat key (id_rsa).
Your identification has been saved in /home/xenial/.ssh/id_rsa. Your public key has been saved in /home/xenial/.ssh/id_rsa.pub. The key fingerprint is: SHA256:8/JWl7tcXvBpcT3cy76AJCNA+ODvwqL7V/6YaC3gx3Q xenial@ubuntuserv The key's randomart image is: +---[RSA 2048]----+ |    ..           | |   o.            | |  . o.           | |   . ..       . o| |    .  .So .  .=+| |  . ..E .o+ o +o*| | ..+.=  . .o o *+| | ..o*ooo o.  .=o.| |+oo+o.o....   o+o| +----[SHA256]-----+ xenial@ubuntuserv: $ 

Selanjutnya kita cek isi direktori .ssh.
xenial@ubuntuserv: $ ls .ssh/ id_rsa  id_rsa.pub 

Lalu ubah nama file id.rsa.pub menjadi authorized_keys.
xenial@ubuntuserv: $ cd .ssh/ xenial@ubuntuserv: /.ssh$ mv id_rsa.pub authorized_keys 

Sampai di sini proses generate key di server sudah selesai. Cek kembali isi direktori .ssh.
xenial@ubuntuserv: /.ssh$ ls authorized_keys  id_rsa

Pengujian Akses SSH

Pada Linux
Sebelum sanggup mengakses ssh memakai key, client harus mengunduh file id_rsa yang ada pada server dan meletakkannya ke dalam direktori .ssh pada komputer client.

Buat dahulu direktori untuk menyimpan file private key yakni direktori .ssh :
mkdir  /.ssh

Ubah permission biar hanya user tersebut yang sanggup membacanya :
chmod 600  /.ssh

Untuk mengunduh private key, kita sanggup memakai perintah scp menyerupai berikut :
scp username@hostname_server:lokasi_file lokasi_tujuan

Contoh :
scp -P 2212 xenial@192.168.43.232: /.ssh/id_rsa  /.ssh
  • -P di sini dipakai untuk mendefinisikan port ssh. Apabila port ssh yang dipakai yakni default (22) maka tidak perlu memakai opsi ini.
  • xenial@192.168.43.232 merupakan username dan hostname atau ip address dari server
  • : /.ssh/id_rsa maksudnya yakni lokasi file id_rsa berada, simbol melambangkan home direktori dari user xenial
  • /.ssh merupakan direktori tujuan, yakni /home/namauser/.ssh

Selanjutnya masukkan password dari user xenial (username yang ada di server) untuk menfkonfirmasi proses transfer file dari server.

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key

Setelah itu client sanggup melaksanakan remote ssh ke server dengan perintah ssh user@hostname_server. Jika service ssh memakai port selain 22, maka tambahkan opsi -p [nomor_port].

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key


Pada Windows
Untuk client windows, kita sanggup memakai aplikasi PuTTY untuk melaksanakan remote ssh. Akan tetapi sebelum sanggup digunakan, kita perlu mengubah private key-nya terlebih dahulu biar sanggup dibaca oleh PuTTY

Unduh dahulu file id_rsa dari server. Bisa memakai aplikasi file transfer menyerupai FileZilla atau WinSCP. Kemudian login memakai username dan password yang ada pada server. Contoh di sini saya memakai WinSCP.

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key

Apabila muncul peringatan warning, silahkan pilih Yes.

Karena lokasi file id_rsa berada di dalam direktori ssh yang terhidden. Maka untuk mencari file tersebut kau sanggup memakai tombol Find Files. Kemudian klik Start.

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key

Setelah muncul list file yang ada. Klik pada file yang akan diunduh yakni id_rsa, kemudian  pilih Download.

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key

Tahap selanjutnya yakni mengkonversi key yang telah diunduh tadi menjadi tipe privat key yang sanggup dipakai oleh PuTTY. Kita akan memakai aplikasi puttygen.exe

Buka aplikasi puttygen.exe kemudian klik tombol Load.

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key

Cari privat key yang sudah diunduh tadi. Lalu Open.

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key

Jika pada ketika menciptakan key di server tadi kalian memakai passphrase, maka untuk membuka key ini kalian akan diminta untuk memasukkan passphrase tersebut.

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key

Setelah file berhasil diimpor, selanjutnya kita save file tersebut. Pilih Save private key.

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key

Simpan file dengan tipe ekstensi .ppk (PuTTY Private Key).

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key

Sekarang kita coba kanal remote ssh memakai PuTTY. Buka aplikasinya, kemudian isi kolom hostname dan port number.

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key

Kemudian masuk ke sajian di samping kiri, Connection > SSH > Auth. Masukkan private key, kemudian Open.

SSH merupakan protokol remote connection yang sanggup dikatakan wajib dipakai apabila kita  Remote SSH Menggunakan Autentikasi Key

Jika kalian tidak memakai passphrase ketika proses generate key tadi, maka akan eksklusif masuk ke dalam server. Apabila memakai passphrase, maka kalian akan diminta untuk memasukan passphrase-nya.


Pada tutorial ini, user yang dipakai untuk login remote ssh yakni user xenial (bukan root). Apabila kalian ingin memakai user root, maka pada ketika proses generate key harus dilakukan oleh user root.

Tambahan :
Untuk lebih meningkatkan keamanan dalam melaksanakan remote ssh, kita sanggup menonaktifkan autentikasi password. Dengan begitu client hanya sanggup mengakses server memakai key.

Untuk menonaktifkan autentikasi password, edit file sshd_config. Kemudian ubah nilai pada baris PasswordAuthentication menjadi no. Seperti ini :
# Change to no to disable tunnelled clear text passwords PasswordAuthentication no 

Dengan catatan, ketika kita hendak menciptakan key gres untuk client yang lain misalnya, autentikasi password ini perlu diaktifkan kembali. Karena autentikasi tersebut akan dipakai ketika client akan mengunduh private key atau mengupload public key ke server.

Demikianlah tutorial mengakses remote SSH memakai autentikasi key. Sebenarnya masih ada tutorial untuk menciptakan key di sisi client, namun biar postingan ini tidak terlalu panjang, maka akan dilanjut di postingan yang lainnya.

Sumber https://dhantama.blogspot.com/