Cara Login SSH tanpa Password, Gampang!



Cara Login SSH tanpa Password, Gambar oleh StockSnap dari Pixabay

Untuk mempermudah proses backup antar server, maka saya menggunakan beberapa cara yang bagi saya sendiri sangatlah membantu, cara tersebut adalah login dan copy file ke server lain tanpa harus memasukan password.


Untuk bisa menggunakan cara tersebut, yang pertama adalah harus punya akun user di server yang akan kita remot, lalu yang kedua, protokol SSH di server juga harus terbuka, sehingga ketika kita melakukan login manual dengan password tidak ada halangan.


Kalau semuanya sudah ok, silahkan ikuti langkah-langkah berikut supaya bisa login dan copy file ke server tanpa memasukan password.


Baca juga : Cara Transfer / Copy File ke Server atau Sebaliknya Menggunakan SSH

1. Buat public key dan private keys menggunakan ssh-keygen pada kompter client

Sebelum membuat public key, ada sedikit informasi tambahan mengenai algoritma enksipsi yang bisa digunakan. Secara default, algoritma enkripsi yang digunakan adalah RSARSA (Rivest – Shamir – Adleman) adalah salah satu cryptosystem kunci publik pertama dan secara luas digunakan untuk transmisi data yang aman. Keamanan itu bergantung pada faktorisasi bilangan bulat, jadi RNG (Random Number Generation) yang aman tidak pernah diperlukan. Dibandingkan dengan DSA, RSA lebih cepat untuk validasi tanda tangan tetapi lebih lambat untuk pembangkitan.


Selain itu ada juga ada juga Ed25519, yang merupakan skema tanda tangan EdDSA, tapi menggunakan SHA-512/256 dan Curve25519. Ed25519 menawarkan keamanan yang lebih baik dari DSA, ECDSA, & EdDSA, plus memiliki performa yang lebih baik (tidak terlihat secara manusiawi).


Kunci RSA ini adalah yang paling banyak digunakan, dan tampaknya paling didukung. Untuk menggunakan kunci ini, anda cukup menggunakan perintah ssh-keygen tanpa ditambah yang lain, contohnya:

 ssh-keygen
Setelah Anda masukkan perintah tersebut, beberapa pertanyaan akan muncul, contoh:

Enter file in which to save the key (/home/ruswan/.ssh/id_rsa):
Kamu bisa langsung menekan ENTER tanpa mengisi apa-apa, sehingga lokasinya akan dibuatkan otomatis secara default. Tapi kalau mau diisi juga silahkan, disesuaikan dengan kebutuhan.

Lalu,2 pertanyaan akan muncul di layar selanjutnya:

Enter passphrase (empty for no passphrase):
Lalu:

Enter same passphrase again:
Karena di judul adalah supaya kita bisa login tanpa memasukan password, maka di bagian enter passphrase tersebut bisa dikosongkan saja.

PENTING! Ada 2 kunci yang dbuat disini (PRIVATE dan PUBLIC): Contoh akan menjadi id_rsa dan id_rsa.pub. Pastikan Anda benar-benar menjaga file id_rsa (PRIVATE KEY), hanya simpan di perangkat Anda dan JANGAN berikan kepada ORANG LAIN.

Baca juga : Membuat, Mengubah, dan Menghapus User PostgreSQL di Terminal Ubuntu

Meski penggunaan ekripsi standar SSH yaitu RSA sudah terbilang aman, tapi ada enkripsi baru yang tak kalau aman, bahkan banyak yang menyebutnya lebih baik, yaitu enkripsi Ed25519 (setidaknya butuh OpenSSL versi 6.5 keatas, karena untuk OpenSSL dibawahnya belum mendukung enkripsi tersebut). 


Untuk menggunakan enkripsi yang berbeda, kamu dapat menambahkan argumen -t beserta metode enkripsi yang anda ingin pakai. Contoh ketika hendak menggunakan enkripsi Ed25519, perintahnya adalah:

ssh-keygen -t ed25519

Tapi supaya namanya berbeda, maka bisa menambahkan -f  pada terminal, sehingga menjadi:

ssh-keygen -t ed25519 ~/.ssh/id_ed25519

Atau kalau mau secara lengkapnya bisa seperti ini:

ssh-keygen -o -a 600 -t ed25519 -f ~/.ssh/id_ed25519 -C "username@domain.tld"

bagian username diganti dengan username di server dan bagian domain.tld diganti dengan domain server atau IP server.


Penggunaan enkripsi Ed25519 lebih disarankan

2. Salin kunci publik ke remote host / server menggunakan ssh-copy-id

Sebagai contoh seandainya alamat IP server saya adalah 201.324.234.121 dengan user yang saya pakai untuk remot adalah "ruswan", maka perintah yang digunakan untuk meng-copy ssh key ke server adalah:

 ssh-copy-id ruswan@201.324.234.121

Baca juga : Membuat Password Berbeda untuk Setiap Akun dan Mudah Diingat

3. Coba Logi ke Server

Setelah berhasil menyalin key ke server, silahkan login menggunakan perintah dibawah ini, harusnya anda langsung login tanpa memasukan password terlebih dahulu.

 ssh ruswan@201.324.234.121

Selesai deh, mudah kan cara login ke ke server menggunakan SSH tanpa perlu memasukan password. Kalau sudah begitu, kamu juga bisa menyalin file atau folder ke server tanpa perlu lagi memasukan password.


Nah kalau digunakan untuk membackup data dari satu server ke server lain, tinggal gunakan saja crontab untuk mengeksekusi perintah scp atau rsync secara terjadwal. Tutorial mengenai cara penggunaan scp dan rsync bisa kamu baca di artikel Cara Transfer / Copy File ke Server atau Sebaliknya Menggunakan SSH.


Sekian tutorial mengenai cara login SSH tanpa password, kalau ada yang mau didiskusikan, silahkan tuliskan saja di kolom komentar.


Rerefensi:
http://madarawebsolutions.com/questions/ 1138/apa-perbedaan-antara-kunci-rsa-dsa- dan-ecdsa-yang-digunakan-ssh

https://www.ssh.com/ssh/keygen/




Tentang Penulis

Kang Ruswan
Kang Ruswan