SSH Tanpa Password di Perangkat Linux

SSH atau Secure Shell merupakan protokol jaringan open-source yang bisa Anda gunakan untuk login ke server dan menjalankan perintah secara jarak jauh, dan ini penting bagi pengguna VPS. Sementara itu, SCP (Secure Copy Protocol) yang berbasis SSH bisa digunakan untuk menyalin file dari satu komputer ke yang lainnya. Dalam tutorial ini, kami akan membahas cara setup ssh tanpa password pada Linux.

Ada dua cara untuk mengaktifkan SSH:

  • Autentikasi berbasis password.
  • Autentikasi berbasis kunci publik (public key).

Nah, autentikasi berbasis kunci publik inilah yang sering disebut dengan SSH tanpa password.

Untuk menggunakan SSH tanpa password, Anda harus membuat public key (kunci publik).

Login ke server VPS melalui SSH terlebih dahulu.

Pertama, cek apakah kunci SSH untuk perangkat client sudah ada agar tidak saling timpa dengan konfigurasi yang ada. Untuk mencari tahu, Anda bisa menggunakan perintah di bawah ini:

				
					ls -al ~/.ssh/id_*.pub
				
			

Jika kunci sudah ada, lewati langkah pembuatan kunci SSH, timpa setup saat ini, atau buat backup untuk kunci yang ada.

Membuat Key Public :

Untuk membuat kunci publik maupun privat pada Ubuntu atau CentOS, gunakan perintah berikut :

				
					ssh-keygen -t rsa
				
			

Kunci publik akan disimpan di dalam file $HOME/.ssh/id_rsa.pub

Nantinya file ini dapat disalin isinya dan di copy ke server.

Menyalin Kunci Publik untuk Mengaktifkan SSH Tanpa Password

Ada tiga cara menyalin kunci publik ke perangkat yang Anda tuju:

  • Menggunakan perintah ssh-copy-id
  • Menyalin kunci publik menggunakan SSH
  • Menyalin kunci publik secara manual

Opsi pertama merupakan yang paling cepat dan paling kami rekomendasikan. Perintah ssh-copy-id secara default sudah disertakan pada sistem variasi Linux.

Namun, apabila Anda menjumpai masalah terkait ssh-copy-id atau bahkan sama sekali tidak bisa mengakses perintah ini, gunakan opsi lainnya pada poin di atas.

Metode 1: Gunakan perintah ssh-copy-id

Perintah dasar untuk menggunakan perintah ini adalah :

				
					ssh-copy-id username@IP_Address
				
			

Kemudian, akan muncul permintaan untuk kata sandi perangkat remote. Setelah autentikasi berhasil, kunci publik SSH yang dihasilkan akan otomatis ditambahkan ke file authorized_keys pada server sehingga berikutnya ada login tidak diminta password melainkan langsung login ke server tujuan.

Menyalin kunci publik menggunakan SSH

Metode ini menggunakan SSH untuk menyalin kunci privat. Anda bisa melakukan metode ini jika memiliki akses SSH berbasis password ke server.

Umumnya metode ini digunakan di Windows dikarenakan tidak memiliki command bawaan ssh-copy-id

Windows :

				
					type $env:USERPROFILE\.ssh\id_rsa.pub | ssh remote_username@remote_ip_address "cat >> .ssh/authorized_keys"
				
			

Linux :

				
					cat ~/.ssh/id_rsa.pub | ssh remote_username@remote_ip_address "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
				
			
Metode 2: Salin kunci publik secara manual

Jika dua metode sebelumnya tidak berhasil, Anda bisa menggunakan metode ini. Namun, metode ketiga ini sedikit lebih sulit karena Anda harus melakukannya secara manual. Anda harus menambahkan konten file id_rsa.pub ke file ~/.ssh/authorized_keys milik server remote.

Note: menambahkan bukan mereplace