Git adalah sistem kontrol versi terdistribusi, yang berarti kita dapat bekerja secara lokal, kemudian membagikan atau push perubahan ke server.

Git dapat berkomunikasi dengan server jarak jauh menggunakan protokol HTTPS (Hypertext Transfer Protocol Secure) atau SSH (Secure Shell).

Kita ambil contoh dari yang paling umum yakni Github, Gitlab dan Heroku yang menggunakan protokol SSH untuk berkomunikasi dengan Git secara aman.

Kita perlu menggunakan SSH key untuk “mengautentikasi” ke server jarak jauh, kita tidak perlu memberikan nama pengguna dan kata sandi setiap saat.


Kita perlu git dan ssh, mari install git dan ssh secara bersamaan.

Install Git & SSH (Ubuntu/Debian)

sudo apt install git ssh

Periksa SSH & Git SSH

Jenis SSH Key

Umumnya kita menggunakan RSA, tapi ada yang lebih aman dari itu yakni ED25519.

Dalam kasus ini kita menggunakan RSA sebagai SSH Key.

Membuat SSH Key

Membuat SSH key adalah hal penting. SSH key akan kita gunakan untuk berkomunikasi dengan git (server).

Membuat SSH Key dengan ketik ssh keygen -t rsa -C "[email protected]" diikuti dengan jenis kunci dan komentar (opsional).

ssh-keygen -t rsa -C "[email protected]"
// Output
Generating public/private rsa key pair.
Enter file in which to save the key (/home/raavi/.ssh/id_rsa): ravihub
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/raavi/.ssh/ravihub
Your public key has been saved in /home/raavi/.ssh/ravihub.pub
...
  • Enter file in which to save the key (/home/raavi/.ssh/id_rsa): » ketik nama file.

  • Enter passphrase (empty for no passphrase): » ketik kata sandi (enter untuk kosongkan saja)

  • Enter same passphrase again: » ketik ulang kata sandi (enter untuk kosongkan saja)

Bila ingin menggunakan SSH Key ED25519:

ssh-keygen -t ed25519 -C "[email protected]"

Berikan SSH key public ke Github

Kita bisa gunakan Github, Gitlab, dan atau Heroku. Dalam kasus ini, mari kita gunakan Github.

cd ~/.ssh
cat ravihub.pub

Copy semua “teks” yang tampil (tanpa terkecuali).

Buka Github » Login Github dan klik Settings pada akun terkait.

Klik SSH and GPG keys » New SSH key » Paste ssh-rsa ...

  • Add SSH key on Github Add SSH

Pastikan Telah Terhubung

Mari kita pastikan “keterkaitan” dengan ketik:

ssh -T git@[email protected]

Git SSH

Tanda gagal akan seperti ini.

ssh: connect to host github.com port 22: Connection refuse

Atau bila ada error lain.

Kamu bisa menambahkan pengaturan ssh key pada file ~/.ssh/config.

Sebagai contoh:

Host github.com
	HostName github.com
	User Syahravi
	IdentityFile ~/.ssh/ravihub

Host gitlab.com
	HostName gitlab.com
	User Syahravi
	IdentityFile ~/.ssh/ravilab

Host heroku.com
	HostName heroku.com
	IdentityFile ~/.ssh/raviku

Push Perubahan ke Server

“Mendorong” atau dengan kata lain “Push”.

Ketik:

cd /path/to/my/codebase
git init
git add --all
git commit "Initial"
git push origin branch-name

Umumnya branch-namenya adalah main.


Tambahan

Mengubah password SSH key » ssh-keygen -p -f /path/to/ssh_key

Keamanan lebih RSA » ssh-keygen -o -f ~/.ssh/id_rsa

Reference: GitLab and SSH keys | GitLab