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 key
danpublic key
). - Add
private key
kessh-agent
. - Copy
public key
ke 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 [email protected]
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.