SSH key adalah cara alternatif untuk melakukan pertukaran data pada repository cloud yang dapat menyimpan identitas SSH key seperti GitHub, GitLab, BitBucket, dsb. SSH key memungkinkan kita bisa melakukan push repository tanpa harus login. Berbeda dengan cara yang biasa (via https), kita harus login dengan memasukkan username dan password setiap akan melakukan push. Tapi dengan menambahkan SSH key di GitHub dengan perangkat komputer, kita tidak perlu melakukan hal itu lagi.
Baiklah kita akan memulai langkah-langkah menggunakan SSH key di GitHub, kamu bisa mencobanya di semua sistem operasi baik itu Linux, Windows atau macOS.
Membuat Key SSH
Buat sebuah hidden folder dengan nama .ssh.
mkdir .ssh
Masuk ke folder .ssh
cd .ssh
Jalankan perintah ssh-keygen
, kemudian masukkan identitas SSH kamu. Untuk passpharse kosongkan saja.
Maka di dalam direktori ~/.ssh/ akan tergenerate file key baru.
Menjalankan SSH Agent dan Load SSH Key
Untuk memastikan SSH agent berjalan atau tidak, gunakan perintah.
ps -e | grep [s]sh-agent
Jika hasilnya seperti di bawah ini, berarti SSH Agent sudah berjalan.
Tapi jika belum berjalan, gunakan perintah di bawah ini untuk menjalankan SSH Agent.
ssh-agent /bin/bash
Kemudian load SSH key, gunakan perintah:
ssh-add ~/.ssh/id_anda
Kemudian untuk mengecek, gunakan perintah:
ssh-add -l
Menambahkan SSH Key ke GitHub
Ambil public key yang sudah tergenerate pada ~/.ssh/id_anda.pub, gunakan perintah cat
.
cat ~/.ssh/id_anda.pub
Copy semua teks yang tampil.
Kemudian masuk ke Settings > SSH and GPG Keys, buat key baru dengan mengeklik New SSH Key dan masukkan key yang sudah disalin tadi. Untuk kolom Title kosongkan saja, hanya isi kolom Key.
Menguji Koneksi SSH
Gunakan perintah berikut untuk mengecek koneksi SSH ke GitHub.
ssh -T git@github.com
Jika hasilnya seperti gambar di bawah ini, berarti sudah berhasil.
Selanjutnya kita akan mencoba clone repository dengan SSH, gunakan perintah git clone
.
git clone git@github.com:aantamimmaarif/username-availability-check.git
Kesimpulan
Menggunakan SSH key memudahkan kita karena tidak perlu memasukkan username dan password ketika melakukan push
. Selain itu pertukaran data dengan Git menjadi sangat aman dan terenkripsi. Sehingga jika kita melakukan push
atau pull
repository tentu mengurangi resiko dari gangguan pihak lain yang tidak bertanggung jawab.