Cara Menggunakan SSH Key di GitLab untuk Keamanan dan Efisiensi DevOps

Cara Menggunakan SSH Key di GitLab untuk Keamanan dan Efisiensi DevOps

Menggunakan SSH Key di GitLab adalah praktik standar dalam workflow DevOps modern. Selain meningkatkan keamanan, SSH key memungkinkan developer melakukan operasi Git seperti git push dan git pull tanpa perlu memasukkan password berulang kali.

Artikel ini membahas langkah-langkah konfigurasi SSH key di GitLab, mulai dari pembuatan key, pemasangan ke akun GitLab, pengujian koneksi, hingga pengelolaan multiple SSH key untuk banyak akun GitLab.

Apa Itu SSH Key dan Kenapa Perlu Digunakan?

SSH key berfungsi sebagai autentikasi berbasis kriptografi yang menggantikan password. Keunggulan utama penggunaan SSH key antara lain:

  • Keamanan lebih tinggi dibandingkan password

  • Tidak perlu login berulang saat menjalankan perintah Git

  • Mendukung automasi CI/CD dan workflow DevOps

  • Ideal untuk developer dengan banyak repository

1. Cara Membuat SSH Key di Linux

Langkah pertama adalah melakukan generate SSH key di mesin Linux.

Generate SSH Key

Jalankan perintah berikut di terminal:

ssh-keygen -C "linus@laptop"

Ikuti instruksi hingga selesai. Secara default, SSH key akan tersimpan di direktori ~/.ssh/.

Menjalankan SSH Agent

Aktifkan SSH agent agar key dapat digunakan oleh sistem:

eval $(ssh-agent -s)

Tambahkan private key ke SSH agent:

ssh-add ~/.ssh/key-namakey

Menyalin Public Key

Salin isi public key untuk didaftarkan ke GitLab:

cat ~/.ssh/namakey.pub

2. Menambahkan SSH Key ke Akun GitLab

Setelah public key berhasil disalin, langkah berikutnya adalah menambahkannya ke GitLab.

  1. Login ke akun GitLab

  2. Masuk ke menu Settings

  3. Pilih SSH Keys

  4. Paste public key ke kolom Key

  5. Klik Add key

Setelah proses ini, GitLab akan mengenali perangkat Anda sebagai client yang terpercaya.

3. Pengujian Koneksi SSH ke GitLab

Untuk memastikan SSH key berfungsi dengan baik, lakukan pengujian koneksi:

ssh -T git@gitlab.com

Jika berhasil, akan muncul pesan seperti berikut:

Welcome to GitLab, @username!

4. Pengujian dengan Repository GitLab

Membuat Repository untuk Testing

Buat repository baru di GitLab sebagai media uji coba.

Clone dan Push Repository

Lakukan clone repository menggunakan SSH:

git clone git@gitlab.com:username/testing.git cd testing

Konfigurasi identitas Git:

git config user.name "Nama Akun GitLab" git config user.email "email@akungitlab.com"

Tambahkan file dan lakukan push:

touch README.md git add README.md git commit -m "add README" git push -u origin master

Jika proses ini berjalan tanpa meminta password, berarti SSH key telah dikonfigurasi dengan benar.


5. Menggunakan Banyak SSH Key untuk Banyak Akun GitLab

Dalam praktik profesional, seorang developer sering memiliki lebih dari satu akun GitLab. Setiap akun sebaiknya menggunakan SSH key yang berbeda untuk menghindari konflik identitas.

Membuat File Konfigurasi SSH

Buat atau edit file konfigurasi SSH:

nano ~/.ssh/config

Isi konfigurasi sebagai berikut:

Host * IdentitiesOnly yes Host gitlab.com-akunsatu HostName gitlab.com IdentityFile /home/userpc/.ssh/key-akunsatu User git Host gitlab.com-akundua HostName gitlab.com IdentityFile /home/userpc/.ssh/key-akundua User git

Pengujian Setiap Akun

Lakukan pengujian SSH untuk masing-masing akun:

ssh gitlab.com-akunsatu ssh gitlab.com-akundua

6. Menyesuaikan Remote Repository di Local Project

Agar repository lokal menggunakan SSH key yang benar, ubah konfigurasi remote Git.

Edit file konfigurasi Git:

nano .git/config

Konfigurasi awal:

[remote "origin"] url = git@gitlab.com:username/repository.git

Ubah menjadi:

[remote "origin"] url = git@gitlab.com-akunsatu:username/repository.git

Dengan cara ini, Git akan menggunakan SSH key sesuai akun yang ditentukan.

Kesimpulan

Konfigurasi SSH key di GitLab merupakan langkah fundamental untuk meningkatkan keamanan dan efisiensi kerja developer. Dengan setup yang tepat, Anda dapat:

  • Menghindari penggunaan password

  • Mengelola banyak akun GitLab dengan aman

  • Mendukung workflow DevOps dan automasi

Metode ini sangat direkomendasikan untuk penggunaan profesional dan lingkungan produksi.

Selamat mencoba dan semoga bermanfaat.