Kembali
Tutor — 28 Mei 2026
Deploy Tutor SSH GitHub

Cara Setup SSH Key di cPanel untuk Clone Repository GitHub Tanpa Password

Cara Setup SSH Key di cPanel untuk Clone Repository GitHub Tanpa Password

Jujur aja, awalnya gw kira deploy Laravel ke shared hosting itu tinggal upload file lalu selesai. Ternyata begitu mulai pakai GitHub, SSH, Node.js, subdomain, dan workflow deployment yang proper, baru terasa kalau setup environment itu lumayan penting.

Dulu gw sering upload ZIP manual lewat File Manager cPanel. Untuk project kecil sebenarnya masih oke. Tapi begitu project mulai banyak, update makin sering, dan repository mulai dipisah-pisah, cara itu lama-lama bikin ribet.

Akhirnya gw mulai pindah ke workflow:

  • GitHub
  • SSH key
  • clone repository langsung dari server
  • tinggal git pull

Dan honestly, setelah terbiasa pakai workflow ini, rasanya males balik lagi upload manual 😄

Di artikel ini gw bakal share cara setup SSH key di cPanel supaya hosting bisa connect langsung ke GitHub tanpa harus login pakai password terus menerus.


Kenapa Pakai SSH Key?

Sebelum masuk setup, gw jelasin dulu kenapa gw lebih suka pakai SSH dibanding HTTPS.

Kalau clone repository pakai HTTPS:

https://github.com/username/repository.git

biasanya GitHub bakal minta:

  • username
  • password/token
  • login ulang

Dan buat deployment itu agak ngeselin.

Sedangkan kalau pakai SSH:

git@github.com:username/repository.git

server bisa langsung authenticate otomatis lewat SSH key.

Jadi nanti workflow deploy jadi jauh lebih simpel:

  • edit di local
  • push ke GitHub
  • login SSH hosting
  • git pull
  • selesai

Buat gw pribadi, ini jauh lebih nyaman apalagi kalau project sudah mulai banyak.


Apa Itu SSH Key?

Secara gampangnya:

  • SSH key itu seperti identitas digital
  • ada private key
  • ada public key

Public key:

  • aman dibagikan
  • dimasukkan ke GitHub

Private key:

  • HARUS disimpan aman
  • jangan dibagikan
  • dipakai server untuk login/authenticate

Konsepnya mirip:

  • public key = gembok
  • private key = kunci pembuka

Kalau GitHub cocok dengan key yang kita punya, akses langsung diberikan tanpa perlu password lagi.


Struktur Setup yang Gw Pakai

Di hosting gw, biasanya struktur folder gw seperti ini:

/home/username/repositories/project

Semua source code ada di folder:

repositories

Sedangkan subdomain/public folder hanya untuk file public Laravel.

Jadi source project tetap aman di luar public web root.


1. Generate SSH Key di Hosting

Masuk dulu ke terminal cPanel atau SSH hosting.

Lalu generate key:

ssh-keygen -t rsa -b 4096 -C "github-access"

Penjelasan:

  • rsa → tipe key
  • 4096 → tingkat keamanan
  • -C → comment/label

Kenapa gw pakai RSA? Karena paling kompatibel untuk banyak shared hosting.


2. Tentukan Nama File Key

Waktu command dijalankan biasanya muncul:

Enter file in which to save the key

Isi misalnya:

~/.ssh/journal

Jadi nanti file yang dibuat:

~/.ssh/journal
~/.ssh/journal.pub

Penjelasan:

  • journal → private key
  • journal.pub → public key

Gw sengaja kasih nama custom supaya lebih rapi.

Karena nanti biasanya gw punya beberapa key:

  • project pribadi
  • client
  • production
  • staging

Kalau semuanya pakai id_rsa bakal berantakan.


3. Passphrase

Nanti akan muncul:

Enter passphrase

Gw biasanya kosongin untuk deployment server supaya lebih praktis.

Kalau untuk laptop pribadi, kadang gw isi passphrase supaya lebih aman.


4. Buat SSH Config

Sekarang bikin file config SSH.

touch ~/.ssh/config
chmod 600 ~/.ssh/config

Lalu edit:

nano ~/.ssh/config

Isi:

Host github-journal
    HostName github.com
    User git
    IdentityFile ~/.ssh/journal

Penjelasan SSH Config

Host

Host github-journal

Ini alias bebas.

Nanti kita bisa connect cukup pakai:

ssh -T github-journal

Menurut gw ini lebih enak dibanding harus nulis config panjang terus menerus.


HostName

HostName github.com

Domain tujuan SSH.

Karena kita connect ke GitHub, jadi pakai:

github.com

User

User git

Untuk GitHub selalu pakai:

git

IdentityFile

IdentityFile ~/.ssh/journal

Ini lokasi private key yang tadi dibuat.


5. Copy Public Key

Sekarang lihat isi public key:

cat ~/.ssh/journal.pub

Outputnya kira-kira begini:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQ...

Copy semuanya.

Jangan ada yang terpotong.


6. Tambahkan ke GitHub

Masuk ke:

  • GitHub
  • Settings
  • SSH and GPG Keys
  • New SSH Key

Paste public key tadi.

Save.


7. Test SSH Connection

Sekarang test koneksi:

ssh -T github-journal

Kalau berhasil biasanya muncul:

Hi username/repository! You've successfully authenticated

Kalau sudah muncul begitu berarti hosting sudah berhasil connect ke GitHub.


8. Clone Repository

Masuk ke folder project:

cd ~/repositories
mkdir journal
cd journal

Clone repository:

git clone git@github-journal:username/repository.git .

Titik (.) di akhir itu penting.

Artinya:

  • clone langsung ke folder saat ini
  • bukan bikin folder baru lagi

Kenapa Gw Suka Workflow Ini?

Karena deployment jadi jauh lebih nyaman.

Workflow gw sekarang biasanya:

  • coding di local
  • push ke GitHub
  • SSH ke hosting
  • git pull
  • composer install
  • npm run build
  • selesai

Dibanding:

  • compress ZIP
  • upload manual
  • extract
  • overwrite file

jujur jauh lebih enak.


Bonus: Multi Repository SSH Key

Kalau project makin banyak, setup seperti ini juga enak:

github-journal
github-client-a
github-client-b
github-production

Masing-masing bisa punya key sendiri.

Menurut gw ini bikin deployment lebih rapi dan lebih aman.


Penutup

Awalnya gw kira setup SSH deployment di shared hosting bakal ribet. Dan memang di awal agak bikin pusing 😄

Tapi begitu semuanya sudah jalan:

  • deploy jadi cepat
  • tinggal git pull
  • project lebih rapi
  • workflow lebih proper
  • lebih nyaman untuk maintenance

Dan menurut gw, kalau sudah mulai sering deploy project Laravel, belajar setup SSH key itu worth it banget.

Related Articles

Tutor