Cara Setting Multiple Private Key pada SSH

Pada kasus tertentu, kita akan membutuhkan beberapa private key yang berbeda untuk setiap mesin yang kita autentikasi. Semisal kita memiliki akun github, gitlab dan ssh server dengan autentikasi public key yang berbeda.

Hal tersebut memungkinkan untuk kita implementasikan agar dapat menggunakan public key yang sudah ditentukan untuk autentikasi masing-masing platform yang menggunakan ssh sebagai sarana sistem autentikasi.

Kita bisa membuat private dan public key SSH sebanyak mungkin dengan nama yang berbeda untuk masing-masing platform. Dengan cara:

Pada bagian lokasi penyimpanan key, kita bisa ganti dengan semisal /home/<namauser>/.ssh/id_rsa_namaplatform atau dengan penyimpanan yang bebas di mana saja. Tapi saya sarankan ditaruh dalam folder ~/.ssh/ agar lebih mudah.

Jadi, untuk mendapatkan private key dan public key baru, bisa menggunakan perintah di atas dengan membedakan penyimpanan berkasnya saja.

Jadi semisal kita memiliki 3 private dan public pada ~/.ssh/ yang sudah kita generate untuk masing-masing seperti berikut:


Pada dasarnya, ssh akan menggunakan ~/.ssh/id_rsa untuk setiap kali melakukan autentikasi terhadap sistem yang melalui ssh.

Baca Juga:  Paccache, Pembersih Cache Pacman

Nah, pada tulisan kali ini saya akan menjelaskan tentang bagaimana caranya mengkonfigurasi ssh agar bisa menggunakan multiple private key berbeda untuk setiap platform dalam melakukan autentikasi.

Merujuk pada referensi konfigurasi ssh[1], disebutkan bahwa terdapat dua berkas konfigurasi yang di mana bersifat global dan juga hanya lingkup pengguna saja.

  • user’s configuration file (~/.ssh/config)
  • system-wide configuration file (/etc/ssh/ssh_config)

Agar bisa menggunakan private key berbeda, hal yang harus kita lakukan adalah membuat konfigurasi untuk pengguna pada berkas ~/.ssh/config, bila berkas tersebut belum terbuat, bisa dibuat terlebih dahulu dengan perintah touch ~/.ssh/config. Dan contoh konfigurasinya sebagai berikut:

Pada konfigurasi tersebut dibutuhkan informasi hostname, user, port dan juga IdentityFile. Nah hal yang paling penting adalah IdentityFile, konfigurasi berkas tersebut membedakan masing-masing informasi autentikasi yang sudah kita tentukan sebelumnya.

Baca Juga:  Perbedaan App dan Project pada Django

Untuk mengetahui bahwa konfigurasi kita sudah benar adalah dengan melakukan ssh ke server tujuan dan ditambahkan parameter -vvv seperti berikut:

Nah, bisa kita lihat bahwa konfigurasi yang kita lakukan sudah tepat dengan ditandai oleh informasi tentang identity file yang mengarah pada private key tersebut.

Akhir kata, semoga tulisan kali ini bermanfaat. Karena berbagi itu indah, mari bagikan tulisan ini bila bermanfaat 🙂

Referensi

  1. https://linux.die.net/man/5/ssh_config
  2. https://gist.github.com/JoaquimLey/e6049a12c8fd2923611802384cd2fb4a

Aan Wahyu

Aan Wahyu

Hanya seorang penyuka Wayang( Terutama Wayang Golek) dan penggiat Open Source serta penikmat dan pembuat puisi. Saat ini memakai distro Arch Linux sebagai OS yang digunakan untuk kebutuhan sehari-hari. Founder dari Sinau Development. Tertarik dengan Research Development dan Non-Profit Organization yang bersifat Open Source dan juga sebagai kontributor di RumahVOIP serta Indonesian Research and Development Center( RNDC ) dan aktif juga diforum Open Source lainnya.
Aan Wahyu

Latest posts by Aan Wahyu (see all)