May 03, 2024
Faradilla A.
4menit Dibaca
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:
Nah, autentikasi berbasis kunci publik inilah yang sering disebut dengan 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:
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.

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:
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.
Ada 4 cara menyalin kunci publik ke perangkat yang Anda tuju:
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.
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.
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:


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.
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
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.
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
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!
Semua konten tutorial di website ini telah melalui peninjauan menyeluruh sesuai standar dan komitmen editorial Hostinger.