Akses Cepat SSH Dengan Config

5 minutes 473 4

Membaca tulisan Banu tentang meningkatkan produktivitas dengan membuat command alias untuk perintah yang sering digunakan berulang di Mac, saya tergelitik dengan bagian di mana Banu melakukan koneksi SSH menggunakan skrip Bash.

Saya punya cara lain yang lebih mudah untuk melakukan koneksi ke beberapa server lewat SSH. Saya coba berbagi caranya, siapa tahu ada yang terbantu.

Cara ini saya gunakan sehari-hari. Karena saya menggunakan Mac, maka cara ini bisa juga diterapkan di Linux.

Menggunakan Berkas Config

Banu memberi contoh dengan menggunakan 3 server. Ia membuat script Bash hanya untuk membuat koneksi SSH ke salah satu server tersebut.

Ketiga server contoh tersebut adalah:

  1. Server 1, diberi nama doraemon, dengan IP 192.168.1.11 dan port SSH 1111 dengan nama pengguna userdoraemon
  2. Server 2, diberi nama nobita, dengan IP 192.168.1.22 dan port SSH 2222 dengan nama pengguna usernobita
  3. Server 3, diberi nama boboho, dengan IP 192.168.1.33 dan port SSH 3333 dengan nama pengguna userboboho

Saya memilih menggunakan berkas config untuk menyimpan informasi konfigurasi server yang sering saya gunakan.

Pada folder home, pada direktori ~/.ssh, lihat apakah ada berkas config. Jika belum ada, buat berkas config dengan isi sebagai berikut.

Host doraemon
  HostName 192.168.1.11
  Port 1111
  User userdoraemon

Host doraemon
  HostName 192.168.1.22
  Port 2222
  User usernobita

Host boboho
  HostName 192.168.1.33
  Port 3333
  User userboboho

Untuk terhubung, tak perlu lagi menulis ssh namapengguna@hostname:port tapi cukup dengan ssh doraemon atau ssh nobita.

Berkas config ini kemudian bisa disalin ke Dropbox, OneDrive, atau media simpan lainnya untuk cadangan dan sinkronisasi.

Akses SSH Tanpa Kata Sandi

Akses SSH ke banyak server kini lebih mudah, tak perlu lagi mengingat-ingat nama pengguna, alamat IP, dan port. Namun muncul masalah lagi, kata sandi masing-masing server harus diingat.

Untuk yang khawatir dengan keamanan, cara berikut mungkin tidak disarankan. Namun karena tujuannya adalah mempermudah, maka saya pribadi lebih suka menggunakan cara ini.

Membuat Kunci Enkripsi

Cara ini membutuhkan kunci enkripsi OpenSSH. Untuk membuatnya, gunakan perintah ssh-keygen lalu tekan enter untuk setiap pertanyaan yang muncul. Secara default perintah ini akan membuat sepasang kunci RSA.

Pastikan pada direktori ~/.ssh terdapat berkas id_rsa dan id_rsa.pub.

Menyalin Kunci Enkripsi Publik Ke Server

Agar bisa masuk ke server tanpa memasukkan kata sandi, unggah dan salin kunci enkripsi publik RSA yang telah dibuat ke server tujuan dengan perintah ssh-copy-id -i ~/.ssh/id_rsa.pub server.

Pada contoh ini, unggah masing-masing kunci enkripsi ke masing-masing server, misalnya ssh-copy-id -i ~/.ssh/id_rsa.pub doraemon.

Server doraemon akan menanyakan kata sandi untuk yang terakhir kalinya, kemudian setelah terhubung ke doraemon, keluar lalu lakukan koneksi SSH ke doraemon. Kita akan langsung masuk ke doraemon tanpa ditanya kata sandi.

Perbarui Berkas Config

Setelah sukses masuk ke server tanpa ditanya kata sandi, buka kembali berkas ~/.ssh/config lalu tambahkan IdentityFile ~/.ssh/id_rsa ke dalam ~/.ssh/config sebagai berikut.

Host doraemon
  HostName 192.168.1.11
  Port 1111
  User userdoraemon
  IdentityFile ~/.ssh/id_rsa

Host doraemon
  HostName 192.168.1.22
  Port 2222
  User usernobita
  IdentityFile ~/.ssh/id_rsa

Host boboho
  HostName 192.168.1.33
  Port 3333
  User userboboho
  IdentityFile ~/.ssh/id_rsa

Yang menarik adalah, kita bisa menyalin pasangan kunci enkripsi id_rsa dan id_rsa.pub ke Dropbox atau OneDrive, lalu memanggil berkas kunci enkripsi privat ini langsung, dengan catatan, kunci enkripsi publik sudah diunggah ke server tujuan.

Host doraemon
  HostName 192.168.1.11
  Port 1111
  User userdoraemon
  IdentityFile ~/Dropbox/id_rsa

Host doraemon
  HostName 192.168.1.22
  Port 2222
  User usernobita
  IdentityFile ~/Dropbox/id_rsa

Host boboho
  HostName 192.168.1.33
  Port 3333
  User userboboho
  IdentityFile ~/Dropbox/id_rsa
6 responses
  1. Gravatar of Banu
    Banu

    Ampuun maaasss….

  2. Gravatar of @_mizan
    @_mizan

    Menurutku sync private key ke dropbox atau yang lainnya itu kok kurang aman. Kunci privat sebaiknya tetap di tempat yang privat.

    Gravatar of Muhammad Zamroni
    Muhammad Zamroni

    bagi yang concern dengan keamanan, cara SSH tanpa password itu sudah nggak aman. 😀 makanya di sini aku ambil dari sisi praktis, bukan dari sisi keamanan.. 😀

    bila ingin tetap aman, ya tambahkan kunci enkripsi dari masing-masing mesin, sehingga untuk terhubung menggunakan kunci masing-masing..

  3. Gravatar of Jauhari
    Jauhari

    Anu ZAM, itu saya tertarik sync ke DropBox nya.. Itu otomatis kalau update (server baru) otomatis ter Sync gitu ya?

    Gravatar of Muhammad Zamroni
    Muhammad Zamroni

    iya, kang. selama Dropbox-nya aktif, akan otomatis tersinkronisasi.

  4. Gravatar of Anton Ashardi
    Anton Ashardi

    Untuk akses cepat ssh, saya biasanya tinggal bikin alias di .bash_profile. Intinya sama sih 😀