Cara Setting 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.

Apa Kegunaan SSH Tanpa Password?

Terkadang, user merasa sedikit kesulitan untuk mengingat opsi yang terproteksi password. Opsi ini juga cukup merepotkan ketika user bekerja di environment yang mengharuskan mereka memasukkan password berkali-kali.

Keuntungan untuk menggunakan SSH tanpa password di antaranya:

  • Mudah dan dengan login noninteraktif. User tidak harus mengetikkan password untuk tiap sesi baru
  • Lebih aman daripada password karena dapat berjalan pada kriptografi public-private key
  • Lebih andal dan tepercaya
  • Pengelolaan autentikasi dan otorisasi yang lebih baik
  • Solusi yang tepat untuk infrastruktur besar maupun kecil
  • Mudah dibuat dan dikelola

Untuk menggunakan SSH tanpa password, Anda harus membuat public key (kunci publik). Dalam tutorial ini, kami akan fokus pada SSH versi 2, yang merupakan versi terbaru dengan protokol yang lebih aman.

Untuk memulai cara setting SSH tanpa password, Anda harus 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. Jika kunci SSH belum ada, Anda akan melihat output berikut:

ls: cannot access /users/appsadm/.ssh/id_*.pub: No such file or directory

Setelahnya, Anda bisa melanjutkan ke proses membuat kunci SSH.

SSH Tanpa Password pada Ubuntu dan CentOS:

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

ssh-keygen -t rsa

Opsi -t berarti type (tipe/jenis), sedangkan RSA adalah protokol yang digunakan untuk membuat kunci. RSA merupakan tipe default, tapi Anda bisa menggunakan perintah yang lebih sederhana, yaitu ssh-keygen.

Nilai (value) kunci default ini adalah 2048 bit. Namun, jika menginginkan keamanan yang lebih kuat, Anda bisa menggantinya menjadi 4096 bit. Untuk hal ini, gunakan perintah berikut:

ssh-keygen -t rsa -b 4096

Proses ini berlangsung secara interaktif, Anda mungkin akan mendapatkan beberapa pertanyaan seperti:

  • Masukkan file yang akan Anda gunakan untuk menyimpan kunci (/home/.ssh.id_rsa)
  • Masukkan passphrase (biarkan kosong jika tidak ada passphrase)

Jika ingin menggunakan nilai default, cukup tekan enter untuk kedua pertanyaan ini. Passphrase atau frasa sandi berfungsi untuk mengenkripsi kunci privat; tapi langkah ini tidak wajib dan boleh kosong.  Kunci privat akan disimpan di lokasi default, yaitu .ssh/id_rsa.

Kunci publik akan disimpan di dalam file .ssh/id_rsa.pub. Selesai! Anda sudah berhasil membuat kunci. Setelahnya, Anda bisa memverifikasi file menggunakan editor apa pun.

Menyalin Kunci Publik untuk Mengaktifkan SSH Tanpa Password

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

  • Menggunakan perintah ssh-copy-id
  • Menggunakan hPanel
  • 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

Sintaksis dasar untuk menggunakan perintah ini adalah:

ssh-copy-id remote_username@remote_IP_Address

Kemudian, akan muncul permintaan untuk kata sandi perangkat remote. Setelah autentikasi berhasil, kunci publik SSH yang dihasilkan akan ditambahkan ke file authorized_keys perangkat remote. Setelah Anda menambahkan entri, koneksi akan otomatis ditutup.

Metode 2: Menggunakan hPanel

Apabila Anda adalah user Hostinger, Anda bisa menggunakan hPanel untuk melakukan tugas ini tanpa perlu ribet.

Cukup ikuti langkah-langkah berikut untuk mengaktifkan SSH tanpa password di hPanel:

  1. Buka file id_rsa.pub yang tadi sudah dibuat, dan biarkan terbuka karena Anda akan membutuhkannya nanti.
  2. Login ke akun hosting Anda dan buka menu VPS, lalu pilih server yang diinginkan.
  3. Pilih Pengaturan → SSH key, kemudian klik Tambah SSH key.
menambahkan ssh key di vps hpanel
  1. Setelah itu, Anda akan melihat pop-up untuk menambahkan SSH key. Isi kolom Nama dengan lokasi penyimpanan yang diinginkan, lalu paste (tempel) isi file id_rsa.pub di kolom SSH key.
popup di hpanel untuk menambahkan nama dan ssh key untuk ssh tanpa password
  1. Selesai! Setelah menambahkan SSH key, Anda pun bisa menggunakan SSH tanpa password.

Metode 3: Salin 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. Untuk menjalankan metode ini, gunakan perintah di bawah ini. Cukup masukkan username pengguna dan alamat IP perangkat remote.

cat ~/.ssh/id_rsa.pub | ssh remote_username@remote_ip_address "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Perintah ini akan menambahkan entri ke file authorized_key di perangkat remote.

Metode 4: Salin kunci publik secara manual

Jika dua metode sebelumnya tidak berhasil, Anda bisa menggunakan metode ini. Namun, metode 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.

Pada source method, Anda bisa menampilkan konten file id_rsa.pub menggunakan editor vi atau perintah cat:

cat ~/.ssh/id_rsa.pub

Perintah ini akan menampilkan output berisi kunci yang diawali dengan ssh-rsa. Salin kode tersebut, kemudian login ke server remote dan buat file .ssh jika belum ada.

mkdir -p ~/.ssh

Anda juga bisa membuat file authorized_keys dengan cara yang sama. Tambahkan kunci publik SSH yang sudah Anda salin ke file kosong seperti berikut:

echo SSH_public_key >> ~/.ssh/authorized_keys

SSH_public_key adalah kunci publik yang Anda salin dari perangkat sumber. Kunci tersebut dimulai dengan ssh-rsa.

Setelah menyalin kunci, Anda bisa memberikan izin yang dibutuhkan pada direktori .ssh server remote menggunakan perintah chmod.

chmod -766 ~/.ssh

Lakukan Pengujian untuk SSH Tanpa Password

Setelah menyelesaikan langkah-langkah di atas, Anda sudah berhasil mengaktifkan SSH tanpa password dan konfigurasi dasarnya. Untuk mengujinya, Anda bisa mengakses server remote melalui server sumber. Sintaksis perintah tersebut adalah seperti berikut:

ssh remote_username@remote_IP_Address

Jika semuanya sudah benar, Anda bisa login secara otomatis tanpa harus memasukkan password.

Cara Menonaktifkan SSH Tanpa Password

Jika tidak ingin lagi menggunakan SSH tanpa password, Anda bisa menonaktifkannya dalam beberapa langkah. Untuk melakukannya, buka file konfigurasi SSH di /etc/ssh/ssh_config.

Anda bisa menggunakan editor apa pun. Pada contoh ini, kami menggunakan nano. Di sini, Anda akan menemukan entri dengan tulisan PasswordAuthentication. Ubah baris ini menjadi seperti berikut:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Setelah itu, simpan file dan mulai ulang SSH. Berikut cara melakukannya pada Ubuntu 22.04:

sudo systemctl restart ssh

Untuk CentOS 7, perintahnya adalah sebagai berikut:

sudo systemctl restart sshd

Kesimpulan

Selesai! Anda kini sudah mempelajari cara setting SSH tanpa password. Melalui artikel ini, kami juga telah membahas pengaturan, konfigurasi, dan cara menonaktifkannya. Semoga Anda terbantu dengan artikel ini!

Author
Penulis

Faradilla A.

Faradilla, yang lebih akrab disapa Ninda, adalah Content Marketing Specialist di Hostinger. Ia suka mengikuti tren teknologi, digital marketing, dan belajar bahasa. Melalui tutorial Hostinger ini, Ninda ingin berbagi informasi dan membantu pembaca menyelesaikan masalah yang dialami. Kenali Ninda lebih dekat di LinkedIn.