Sitemap
aijogja

Papa muda anak lima, yang memulai bekerja remote sambil momong anak.

Git Deploy Keys

3 min readOct 20, 2019

--

Apa itu Deploy Keys? Dan bagaimana cara konfigurasinya?

Ketika kita bekerja menggunakan git (ntah itu Gitlab atau Github) maka kita akan disuguhkan 2 cara mengakses repository kita, yaitu dengan https dan ssh. Sudah tau kan bedanya? disini kita ndak bahas ini. Pada dasarnya, konfigurasi ini terdapat pada akun kita. Naah, pada tulisan ini, membahas bagaimana mengimplementasikan ini pada repository tertentu saja. Ini sangat bermanfaat ketika kita mau mendeploy ke server tertentu.

Pada konfigurasi SSH key yang ada di akun, maka key tersebut akan bisa mengakses seluruh repository yang ada pada akun kita. Padahal, ketika kita mau mendeploy project ke server, ada kemungkinan (biasanya) masing-masing repository (project) berada pada server yang berbeda. Maka disinilah Deploy Keys dimanfaatkan.

Press enter or click to view image in full size
tidak bisa clone menggunakan ssh

1. Cari atau buat SSH Key di server

Pertama login ke server menggunakan SSH, dan ketik perintah berikut:

cat ~/.ssh/id_rsa.pub
Press enter or click to view image in full size
belum ada ssh key

Perintah tersebut akan menampilkan SSH public key dari server kita. Namun apabila keluarnya adalah No such file or directory ini berarti kita belum memiliki SSH Key. Untuk membuat SSH Key, silahkan masuk ke directory ~/.ssh terlebih dahulu kemudian generate dengan perintah ssh-keygen

cd ~/.ssh
ssh-keygen -t rsa
Press enter or click to view image in full size
generate ssh key

Enter terus sampe selesai (seperti kalau pas install aplikasi di windows, next next dan next terus :D ). Perintah tersebut akan menggenerate file id_rsa dan id_rsa.pub didalam folder .ssh . Jadi sekarang kita sudah memiliki SSH key, silahkan ketik perintah yang paling atas untuk melihat ssh key tsb.

ini adalah ssh key dari server kita

2. Konfigurasi server untuk konek SSH menggunakan SSH key.

Pastikan ssh-agent aktif di server kita, untuk mengeceknya bisa menggunakan perintah berikut

eval $(ssh-agent -s)

Kemudian, tambahkan ssh privat key ke registry ssh-agent server kita menggunakan

# Add your private key
ssh-add ~/.ssh/id_rsa
Press enter or click to view image in full size

Setelah itu, buat file config di folder .ssh dan masukkan IdentityFile pada file tersebut

# Go to SSH directory
cd ~/.ssh/
# buat file config
vi config

kemudian tambahkan code berikut pada file config tersebut kemudian simpan.

# GitLab.com server
Host gitlab.com
IdentityFile ~/.ssh/id_rsa

Change permission untuk file config tersebut

chmod 600 ~/.ssh/config

3. Tambahkan SSH Public Key di konfigurasi Gitlab

Buka repository yang mau digunakan. Kemudian pilih Setting -> Repository -> Deploy Keys

Get Ai Jogja’s stories in your inbox

Join Medium for free to get updates from this writer.

Copy id_rsa.pub yang sudah didapat pada step 1 diatas ke Key yang ada pada konfigurasi gitlab tersebut. Kemudian tekan tombol Add key. Maka proses sudah selesai.

Press enter or click to view image in full size

4. Silahkan dicoba clone project

Masuk ke konsole server, dan coba clone project menggunakan ssh.

Press enter or click to view image in full size
clone menggunakan ssh berhasil

Kesimpulan

Cara ini sangat berguna ketika kita mau memberikan akses ssh dari sebuah server ke repository tertentu. Dalam contoh diatas kita menggunakan repository dari gitlab, akan tetapi ini juga bisa diterapkan di github.

--

--