Pengenalan sedikit mengenai SSH, SSH (Secure Shell Protocol) adalah protokol jaringan yang digunakan untuk berkomunikasi data melalui jalur yang aman. SSH digunakan sebagai pengganti dari telnet karena lebih aman. Perbedaan mendasar antara SSH dan telnet yaitu dari pengiriman data informasi, pada telnet data informasi yang dikirim tidak di enkripsi sehingga rawan untuk di hack sedangkan pada SSH data informasi yang dikirim akan di enkripsi sehingga terjamin kerahasian datanya.
Pada kasus ini kita akan menggunakan SSH untuk keperluan push ke repository github tanpa perlu lagi menginputkan username & password (login). Hal ini bisa dilakukan dengan menggunakan SSH Key sehingga proses otentikasi akun berjalan secara otomatis. SSH Key adalah kunci pasangan dua arah (private key dan public key) yang di enkripsi dan saling berhubungan, bisa di ibaratkan private key sebagai kunci dan public key sebegai gembok.
Adapun proses setup SSH Key sebagai berikut:
- Generate SSH key (
private keydanpublic key). - Add
private keykessh-agent. - Copy
public keyke github. - Tes koneksi SSH key dari lokal PC ke github.
Pertama generate SSH key dengan menggunakan perintah berikut di terminal.
# ssh-keygen -t rsa
Kemudian pada Enter file in which to save the key masukan id SSH key pada contoh di sini menggunakan id github_jokopurwanto, pada passpharse dapat dikosongkan namun jika diisi maka pada saat menambahkan private key ke ssh-agent perlu memasukan kembali passpharse yang telah dibuat.
Pada direktori ~/.ssh/ akan terbuat dua file key baru yaitu github_jokopurwanto (private key) dan github_jokopurwanto.pub (public key).
Jalankan ssh-agent dengan menggunakan perintah berikut:
# eval $(ssh-agent -s)
Setelah ssh-agent berjalan maka langkah berikutnya kita tambahkan SSH private key ke ssh-agent dengan menggunakan perintah berikut:
# ssh-add github_jokopurwanto
Selanjutnya copy content data pada file github_jokopurwanto.pub (public key) dengan menggunakan perintah berikut:
# cat github_jokopurwanto.pub
Lalu copy semua teks yang ditampilkan.
Kemudian buka akun github lalu masuk ke menu Settings => SSH and GPG Keys. Klik New SSH key, lalu pada bagian:
- Title: Dapat di isi dengan label untuk SSH key.
- Key: Dapat di isi dengan mem-paste data pada file github_jokopurwanto.pub (
public key) yang sebelumnya telah dibuat dan dicopy.
Selanjutnya melalukan tes koneksi SSH key dari lokal PC ke github dengan menggunakan perintah berikut:
# ssh -T git@github.com
Jika berhasl maka akan muncul tampilan teks berikut:
Hi jokopurwanto! You've successfully authenticated, but GitHub does not provide shell access.
Maka sekarang setiap kali melakukan push menggunakan SSH, kita tidak perlu lagi memasukan username & password karena proses otentikasi akun sudah dilakukan menggunakan SSH key.








