Cara Setup Remote SSH ke cPanel dari Laptop atau PC
Setelah setup SSH key untuk clone repository GitHub, ada satu hal lain yang menurut gw penting banget: login ke server hosting langsung dari terminal laptop.
Jadi kita nggak perlu lagi:
- buka browser
- login cPanel
- masuk menu Terminal
- nunggu loading
Cukup dari terminal laptop:
ssh cpanel-ssh
langsung masuk ke server hosting.
Setup ini berguna buat:
- deploy project
git pullcomposer installnpm run build- edit file cepat
- cek log Laravel
- migrate database
- buka project lewat VSCode Remote SSH
Apa Itu Remote SSH?
Remote SSH adalah cara untuk masuk ke terminal server dari komputer kita sendiri.
Kalau biasanya kita buka terminal dari cPanel, dengan remote SSH kita bisa akses server langsung dari terminal laptop.
Contoh:
ssh username@domain.com
atau kalau sudah pakai alias:
ssh cpanel-ssh
Jadi cpanel-ssh itu bukan nama wajib. Itu cuma alias yang kita bikin sendiri supaya command-nya lebih pendek dan gampang diingat.
1. Generate SSH Key di Laptop
Pertama, generate SSH key di laptop atau PC.
ssh-keygen -t rsa -b 4096 -C "cpanel-ssh"
Penjelasan:
ssh-keygen
digunakan untuk membuat SSH key baru.
-t rsa
artinya tipe key yang dibuat adalah RSA.
-b 4096
artinya panjang key 4096 bit. Ini umum dipakai karena kompatibel dengan banyak shared hosting.
-C "cpanel-ssh"
adalah comment atau label. Ini bebas diganti. Misalnya:
-C "laptop-access"
atau:
-C "ssh-hosting"
Comment ini bukan password dan bukan bagian penting untuk login. Fungsinya hanya sebagai catatan supaya kita tahu key itu dipakai untuk apa.
2. Tentukan Nama File Key
Setelah menjalankan command tadi, akan muncul:
Enter file in which to save the key
Isi misalnya:
~/.ssh/cpanel-ssh
Nanti akan terbentuk dua file:
~/.ssh/cpanel-ssh
~/.ssh/cpanel-ssh.pub
Penjelasan:
~/.ssh/cpanel-ssh
adalah private key. File ini jangan dibagikan ke siapa pun.
~/.ssh/cpanel-ssh.pub
adalah public key. File ini yang nanti diupload ke cPanel.
Nama cpanel-ssh bebas diganti. Misalnya:
hosting-demoserver-accessshared-hostingmy-cpanel
Yang penting nanti nama di IdentityFile harus sesuai dengan nama file private key.
3. Passphrase
Setelah itu akan muncul:
Enter passphrase
Passphrase ini seperti password tambahan untuk private key.
Kalau diisi:
- lebih aman
- setiap connect bisa diminta passphrase
Kalau dikosongkan:
- lebih praktis
- bisa langsung login tanpa input tambahan
Untuk kebutuhan akses hosting pribadi, gw biasanya kosongin saja supaya lebih cepat.
Caranya cukup tekan Enter.
4. Copy Public Key
Setelah key dibuat, lihat isi public key:
cat ~/.ssh/cpanel-ssh.pub
Output-nya kira-kira seperti ini:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQ... cpanel-ssh
Copy semua output tersebut.
Jangan copy private key.
Yang dicopy adalah file .pub.
5. Upload Public Key ke cPanel
Masuk ke cPanel, lalu buka:
SSH Access → Manage SSH Keys → Import Key
Isi bagian public key dengan isi file:
~/.ssh/cpanel-ssh.pub
Setelah itu simpan.
Lalu klik:
Manage → Authorize
Bagian authorize ini penting. Kalau key sudah diimport tapi belum authorized, SSH tetap belum bisa login.
6. Test Login Tanpa Config
Coba dulu login dari terminal laptop:
ssh username_cpanel@domain.com
Contoh:
ssh username@domain.com
Kalau port SSH hosting bukan 22, gunakan:
ssh -p 2222 username@domain.com
Angka 2222 hanya contoh. Port SSH tergantung provider hosting.
Kalau pertama kali connect biasanya muncul:
Are you sure you want to continue connecting?
Ketik:
yes
Lalu tekan Enter.
7. Kalau Masih Minta Password
Kadang setelah upload public key, SSH masih tetap minta password.
Biasanya penyebabnya adalah laptop belum tahu harus pakai private key yang mana.
Karena nama key kita bukan default seperti:
~/.ssh/id_rsa
tapi custom:
~/.ssh/cpanel-ssh
Maka kita perlu memberi tahu SSH lewat config.
8. Setup SSH Config di Laptop
Buka file config:
nano ~/.ssh/config
Lalu isi:
Host cpanel-ssh
HostName domain.com
User username_cpanel
Port 22
IdentityFile ~/.ssh/cpanel-ssh
IdentitiesOnly yes
Penjelasan:
Host cpanel-ssh
Ini alias. Bebas diganti.
Contoh lain:
Host hosting-demo
Kalau diganti menjadi hosting-demo, maka login-nya jadi:
ssh hosting-demo
HostName domain.com
Ini domain atau IP server hosting.
Bisa diisi:
HostName example.com
atau:
HostName 123.123.123.123
Kalau domain belum resolve, bisa pakai IP server.
User username_cpanel
Ini username cPanel atau username SSH hosting.
Biasanya sama dengan nama folder home:
/home/username_cpanel
Untuk cek username saat sudah login SSH:
whoami
Port 22
Ini port SSH.
Default SSH biasanya 22.
Tapi beberapa shared hosting memakai port custom seperti:
2222220021098
Kalau port dari provider berbeda, ubah bagian ini.
IdentityFile ~/.ssh/cpanel-ssh
Ini lokasi private key.
Harus sesuai dengan nama file key yang dibuat di awal.
Kalau tadi nama key-nya:
~/.ssh/hosting-demo
maka config-nya harus:
IdentityFile ~/.ssh/hosting-demo
IdentitiesOnly yes
Ini supaya SSH hanya mencoba key yang kita tentukan.
Tanpa ini, SSH bisa mencoba banyak key lain dulu dan kadang bikin login gagal atau tetap minta password.
9. Set Permission File SSH
Supaya SSH tidak komplain soal permission, jalankan:
chmod 600 ~/.ssh/config
chmod 600 ~/.ssh/cpanel-ssh
Kalau folder .ssh belum benar permission-nya:
chmod 700 ~/.ssh
10. Login Pakai Alias
Sekarang login cukup pakai:
ssh cpanel-ssh
Kalau berhasil, kita langsung masuk ke terminal hosting tanpa perlu buka terminal dari cPanel.
11. Contoh Workflow Setelah Remote SSH Berhasil
Setelah bisa login remote SSH, deployment jadi lebih enak.
Contoh:
ssh cpanel-ssh
Masuk folder project:
cd ~/repositories/project
Pull update dari GitHub:
git pull
Install dependency PHP:
composer install --no-dev --optimize-autoloader
Build asset:
npm run build
Clear cache Laravel:
php artisan optimize:clear
Atau untuk production:
php artisan optimize
12. Bisa Dipakai untuk VSCode Remote SSH
Setup ini juga bisa dipakai untuk VSCode.
Install extension:
Remote - SSH
Lalu connect ke:
cpanel-ssh
Nanti folder hosting bisa dibuka langsung dari VSCode.
Ini enak banget kalau mau edit file kecil, cek .env, lihat log, atau inspect project tanpa masuk File Manager cPanel.
13. Naming Bebas, yang Penting Konsisten
Bagian yang bisa diganti:
cpanel-ssh
bisa diganti menjadi apa pun.
Contoh:
Host hosting-demo
IdentityFile ~/.ssh/hosting-demo
Maka login:
ssh hosting-demo
Atau:
Host server-laravel
IdentityFile ~/.ssh/server-laravel
Maka login:
ssh server-laravel
Yang penting:
- nama file private key sesuai
IdentityFilesesuaiHostdipakai saat loginHostNameisi domain/IP serverUserisi username cPanelPortsesuai port SSH hosting
Penutup
Menurut gw, remote SSH ini wajib banget kalau sudah sering deploy project.
Awalnya memang agak ribet karena harus setup:
- SSH key
- public key
- authorize key di cPanel
- config SSH
- permission file
Tapi setelah jadi, workflow jauh lebih nyaman.
Sekarang cukup:
ssh cpanel-ssh
lalu bisa deploy project langsung dari terminal laptop.
Nggak perlu lagi bolak-balik buka terminal dari cPanel.