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
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
Pastikan Telah Terhubung
Mari kita pastikan “keterkaitan” dengan ketik:
ssh -T git@[email protected]
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-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