Cara menggunakan SSH Git untuk Github

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 salah satu dari dua protokol, HTTPS atau SSH.

Mari buat pilihan yang disengaja untuk menyiapkan SSH key.

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

Saat kita menggunakan SSH key untuk “mengautentikasi” ke server jarak jauh, kita tidak perlu (baca: HTTPS) 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

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. Karna inilah yang akan kita gunakan untuk berkomunikasi dengan git (server).

Ketik ssh keygen -t diikuti dengan jenis kunci dan komentar (opsional).

ssh-keygen -t rsa -C "Githubkuu"
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
...

Legenda:

Bila ingin menggunakan SSH Key ED25519:

ssh-keygen -t ed25519 -C "Githubkuu"

Konfigurasi Tambahan

Bila terjadi error.

Kamu bisa menambahkan pengaturan ssh key di 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

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 ...


Pastikan Telah Terhubung

Mari kita pastikan “keterkaitan” dengan ketik:

ssh -T git@...

Tanda gagal akan seperti ini.

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

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