Kadang, karena suatu kebutuhan, dibutuhkan akses SSH tanpa password. Kebutuhan-kebutuhan itu antara lain :
- Auto SSH antar server
- Auto SCP antar server
- Pembentukan SSHFS untuk keperluan mounting data dari satu direktori di satu komputer, agar dapat dijadikan sebagai direktori bagi komputer lainnya.
Secara default, proses SSH sendiri tidak bisa dilakukan tanpa password. Jadi jika dibuat satu akun tanpa password (password kosong) kemudian dilakukan akses SSH ke akun tersebut, tidak akan berhasil. Satu-satunya cara adalah : membuat authentication key dari satu server, yang kemudian dikenali di komputer yang lain.
Pada gambar bawah, jika kita menggunakan komputer A, dan ingin SSH ke komputer B tanpa password, caranya adalah :
- Melakukan generate authentication key di komputer A
- Melakukan copy authentication yang ada di A, ke profil yang ada di B
- Testing.
Mari dibahas satu satu..
- Melakukan generating auth-key dengan perintah ssh-keygen. Perintah ini akan memunculkan satu file (jika belum ada) di dalam account linux yang kita gunakan, yaitu pada directory .ssh/id_rsa dan .ssh/id_rsa.pub.
Jika sudah ada akan ada konfirmasi untuk ditimpa.ssh-keygen
- Copy auth-key dari komputer local, ke komputer remote, dengan perintah : ssh-copy-id, perintah yang digunakan adalah
ssh-copy-id .ssh/id_rsa.pub user@servertujuan
Untuk server dengan ssh port bukan 22
ssh-copy-id .ssh/id_rsa.pub user@servertujuan -p2121
Ada juga untuk kernel lama:
ssh-copy-id .ssh/id_rsa.pub "user@servertujuan -p2121"
- Testing dengan ssh langsung ke server tujuan
ssh user@servertujuan
Sampai tahap ini, seharusnya proses berhasil tanpa memasukkan password.. Selamat mencoba