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:
- Buka file id_rsa.pub yang tadi sudah dibuat, dan biarkan terbuka karena Anda akan membutuhkannya nanti.
- Login ke akun hosting Anda dan buka menu VPS, lalu pilih server yang diinginkan.
- Pilih Pengaturan → SSH key, kemudian klik Tambah SSH key.
- 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.
- 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!