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
- Periksa SSH & Git
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:
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 (opsional)
Enter same passphrase again: » ketik ulang kata sandi (opsional)
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 ...
- Add SSH key on Github
Pastikan Telah Terhubung
Mari kita pastikan “keterkaitan” dengan ketik:
ssh -T git@...
- ssh -T [email protected]
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-name
nya adalahmain
.
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