Skenario:
Dalam proses CI/CD di GitLab, sering kali diperlukan autentikasi SSH agar pipeline dapat mengakses server atau repository tertentu tanpa perlu memasukkan password setiap kali. Untuk itu, kunci SSH digunakan sebagai key variabel yang dimasukkan ke dalam pengaturan GitLab CI/CD. Pada skenario ini, akan dibuat pasangan kunci SSH baru dengan enkripsi 4096-bit dan disiapkan untuk digunakan sebagai key variabel dalam pipeline GitLab CI/CD.
Tujuan:
Tujuan dari panduan ini adalah untuk:
- Membuat pasangan kunci SSH dengan panjang kunci 4096-bit untuk digunakan sebagai key variabel di GitLab.
- Mengganti atau mengatur passphrase baru pada kunci private SSH.
- Menggunakan kunci public untuk autentikasi dalam CI/CD pipeline GitLab tanpa password.
- Memastikan kunci SSH kompatibel dengan format PEM jika diperlukan.
Langkah-Langkah:
1. Masuk ke Direktori Home User
Arahkan ke direktori home dari user yang sedang login.
cd ~
2. Masuk ke Direktori .ssh
Masuk ke folder .ssh untuk menyimpan kunci SSH.
cd .ssh
Jika folder .ssh belum ada, buat folder tersebut:
mkdir ~/.ssh
3. Membuat Pasangan Kunci SSH dengan Panjang Kunci 4096-bit
Buat pasangan kunci SSH baru dengan panjang kunci 4096-bit.
ssh-keygen -b 4096
4. Mengganti atau Menambah Passphrase pada Kunci Private dan Mengatur Format PEM
Jika diperlukan, gunakan perintah ini untuk memperbarui passphrase dan memastikan kompatibilitas dengan format PEM.
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
5. Menambahkan Kunci Public ke authorized_keys
Tambahkan kunci public ke authorized_keys untuk memastikan server mengenali akses tanpa password.
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
6. Menambahkan Key SSH ke GitLab CI/CD
Salin kunci private SSH dan tambahkan ke pengaturan GitLab CI/CD sebagai variabel.
7. Verifikasi
Uji koneksi SSH untuk memastikan GitLab pipeline dapat terhubung tanpa password.
ssh user@server_address
Kesimpulan:
Panduan ini menjelaskan bagaimana cara membuat pasangan kunci SSH dengan panjang kunci 4096-bit, memperbarui passphrase, dan mengatur kompatibilitas format PEM. Selain itu, juga ditunjukkan cara menambahkan kunci public ke server agar pipeline GitLab dapat mengakses server atau repository melalui SSH tanpa memerlukan password. Langkah ini sangat penting untuk memastikan CI/CD berjalan otomatis dan lancar.