Lewati ke konten utama

Penjelasan Kunci SSH: Panduan Akses Jarak Jauh yang Cepat dan Aman

Panduan lengkap ini menunjukkan cara menyiapkan, menggunakan, dan mengelola kunci SSH untuk akses jarak jauh yang lebih cepat dan aman ke sistem apa pun.
Diperbarui 28 Sep 2026  · 15 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Bosankah Anda harus mengetik kata sandi setiap kali terhubung ke server jarak jauh atau repositori GitHub?

Kunci SSH adalah solusi yang Anda cari. Kunci ini menawarkan alternatif yang aman dan nyaman terhadap autentikasi berbasis kata sandi saat Anda ingin mengakses sistem jarak jauh. Kunci SSH juga memberikan keamanan lebih kuat daripada kata sandi karena praktis mustahil dibobol melalui serangan brute force.

Selama bertahun-tahun, kunci SSH telah menjadi standar untuk koneksi jarak jauh yang aman di lingkungan profesional. Kunci ini esensial bagi siapa saja yang bekerja dengan server jarak jauh, layanan cloud, atau sistem kontrol versi seperti Git.

Dalam artikel ini, Anda akan mempelajari cara membuat kunci SSH, menambahkannya ke sistem jarak jauh, dan menerapkan praktik terbaik untuk mengelolanya dengan aman.

Apa Itu Kunci SSH?

Kunci SSH adalah kredensial kriptografis yang memungkinkan Anda mengakses sistem jarak jauh dengan aman tanpa mengetik kata sandi. Jadi, alih-alih menghafal kata sandi kompleks dengan angka, huruf kapital, dan karakter khusus, Anda membuat sepasang kunci – satu publik dan satu privat.

Anggap kunci publik Anda sebagai gembok yang dapat Anda bagikan bebas ke server mana pun yang ingin Anda akses. Kunci privat Anda berfungsi seperti kunci unik yang membuka gembok tersebut. Saat Anda terhubung ke sistem jarak jauh, sistem akan memeriksa apakah kunci privat Anda cocok dengan kunci publik yang tersimpan. Jika cocok, Anda mendapat akses instan tanpa memasukkan kata sandi.

Kunci publik tidak dapat digunakan untuk menurunkan kunci privat Anda, sehingga sistem ini sangat aman. Kunci privat Anda harus tetap rahasia dan berada di komputer Anda, jadi jangan pernah membagikannya kepada siapa pun.

> Untuk memahami lebih jauh bagaimana koneksi aman cocok dalam lanskap keamanan siber yang lebih luas, jelajahi kursus Introduction to Data Security.

Berikut manfaatnya dibanding autentikasi tradisional berbasis kata sandi yang perlu Anda ketahui:

  • Keamanan yang ditingkatkan – Tidak seperti kata sandi, kunci SSH tidak bisa ditebak atau dibobol brute force karena panjang dan kompleksitasnya (biasanya 2048 bit atau lebih).
  • Kenyamanan yang lebih baik – Setelah disiapkan, Anda dapat terhubung ke server tanpa mengetik kata sandi setiap kali.
  • Ramah otomatisasi – Sempurna untuk skrip dan proses otomatis yang memerlukan autentikasi aman.
  • Manajemen akses terpusat – Tambah atau cabut akses hanya dengan mengelola kunci publik di server Anda.
  • Tidak lagi lelah dengan kata sandi – Anda tidak perlu membuat, mengingat, atau mengubah kata sandi kompleks secara berkala.

Kunci SSH berfungsi pada hampir semua sistem yang mendukung SSH, termasuk server Linux, platform cloud, dan repositori kode seperti GitHub dan GitLab. Kunci ini telah menjadi standar untuk akses jarak jauh yang aman di lingkungan profesional.

> Bagi profesional cloud, menguasai keamanan dan efisiensi biaya adalah kunci—pelajari lebih lanjut di kursus AWS Security and Cost Management.

Sekarang Anda tahu apa itu kunci SSH, berikutnya Anda akan mempelajari cara membuatnya.

Cara Membuat Kunci SSH

Membuat kunci SSH hanya memerlukan beberapa menit, terlepas dari sistem operasi Anda. 

Prosesnya menghasilkan dua file: kunci privat Anda (yang harus tetap aman di komputer Anda) dan kunci publik Anda (yang akan Anda tambahkan ke server jarak jauh).

Membuat kunci SSH di Linux/MacOS

Untuk membuat kunci SSH di Linux atau MacOS, Anda akan menggunakan perintah bawaan ssh-keygen.  Untuk memulai, buka terminal dan ketik:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Perintah ini memberi tahu sistem Anda untuk membuat kunci RSA baru dengan enkripsi 4096-bit (sangat aman) dan menambahkan email Anda sebagai komentar untuk identifikasi.

Sistem Anda akan menanyakan lokasi penyimpanan kunci dan apakah akan menambahkan frasa sandi. Lokasi default cocok untuk sebagian besar pengguna, tetapi frasa sandi patut dipertimbangkan. 

Frasa sandi yang baik menambah lapisan keamanan ekstra - bahkan jika seseorang mendapatkan file kunci privat Anda, mereka tidak dapat menggunakannya tanpa mengetahui frasa ini.

Gambar 1 - Membuat pasangan kunci SSH di Linux/macOS

Gambar 1 - Membuat pasangan kunci SSH di Linux/macOS

Setelah mengonfirmasi pilihan Anda, sistem akan membuat kedua kunci di direktori .ssh pada folder home Anda:

  • Kunci privat Anda: File tanpa ekstensi (seperti id_rsa).
  • Kunci publik Anda: File dengan ekstensi .pub (seperti id_rsa.pub).

Gambar 2 - File kunci yang dibuat

Gambar 2 - File kunci yang dibuat

Membuat kunci SSH di Windows

Pengguna Windows memiliki beberapa opsi yang baik untuk membuat kunci SSH - Git Bash dan WSL.

Git Bash menyediakan pengalaman baris perintah yang mirip dengan Linux/MacOS. Jika Anda telah memasang Git untuk Windows, Anda sudah memiliki alat ini. Buka Git Bash dan gunakan perintah ssh-keygen yang sama seperti di atas.

Windows Subsystem for Linux (WSL) adalah opsi bagus lainnya jika Anda lebih suka bekerja di lingkungan Linux pada mesin Windows Anda. Perintahnya sama persis seperti pada sistem Linux asli.

Bagi yang lebih menyukai antarmuka grafise, PuTTYgen menyediakan pendekatan yang lebih visual.

Gambar 3 - Pembuatan kunci PuTTYgen di Windows

Gambar 3 - Pembuatan kunci PuTTYgen di Windows

Berikut langkah-langkah yang harus Anda lakukan untuk membuat pasangan kunci:

  1. Jalankan PuTTYgen dari menu Start Anda.
  2. Pilih RSA sebagai tipe kunci Anda.
  3. Klik "Generate" dan gerakkan mouse Anda di area kosong.
  4. Tambahkan frasa sandi untuk keamanan ekstra.
  5. Simpan kunci publik dan privat Anda menggunakan tombol khusus.

Gambar 4 - File kunci yang dibuat (2)

Gambar 4 - File kunci yang dibuat (2)

Memahami file kunci

Proses pembuatan kunci SSH menghasilkan dua file yang bekerja sebagai pasangan.

Kunci privat Anda harus tetap rahasia dan aman di komputer Anda. Anggap ini sebagai kunci induk yang membuktikan identitas Anda. Nama kunci privat biasanya seperti ini:

  • id_ed25519 (untuk kunci Ed25519).
  • id_rsa (untuk kunci RSA).

Kunci publik Anda dapat dibagikan bebas ke sistem mana pun yang ingin Anda akses. Kunci ini berfungsi seperti gembok yang hanya dapat dibuka oleh kunci privat Anda. Kunci publik selalu memiliki nama yang sama dengan kunci privatnya, ditambah ekstensi .pub.

Keamanan sistem ini sepenuhnya bergantung pada perlindungan kunci privat Anda.

Jangan pernah membaginya, mengirimkannya melalui email, atau menyimpannya di perangkat yang tidak tepercaya. Jika Anda merasa kunci privat telah disusupi, segera buat pasangan kunci baru dan perbarui semua server yang memiliki kunci publik lama Anda.

Anda dapat melihat isi kunci publik Anda dengan:

cat ~/.ssh/id_rsa.pub

Gambar 5 - Isi kunci publik

Gambar 5 - Isi kunci publik

Keluaran menampilkan string lengkap yang Anda perlukan saat mengonfigurasi server jarak jauh, yang akan kita bahas di bagian berikutnya.

Cara Menambahkan Kunci SSH ke Sistem Jarak Jauh

Sekarang setelah Anda membuat pasangan kunci SSH, Anda perlu menambahkan kunci publik ke setiap sistem jarak jauh yang ingin Anda akses. Sederhananya, proses ini memberi tahu server jarak jauh untuk mengenali kunci privat Anda sebagai bentuk autentikasi yang valid.

Menambahkan kunci publik ke server jarak jauh

Prosesnya tidak rumit; Anda hanya perlu menambahkan kunci publik ke file khusus di server jarak jauh. File ini, bernama authorized_keys, berisi daftar kunci publik yang diizinkan terhubung.

Cara termudah untuk menambahkan kunci adalah dengan perintah ssh-copy-id:

ssh-copy-id username@remote_host

Perintah ini terhubung ke server jarak jauh, membuat direktori yang diperlukan jika belum ada, dan menambahkan kunci publik Anda ke file authorized_keys. Anda perlu memasukkan kata sandi untuk terakhir kalinya selama proses ini.

Gambar 6 - Isi file authorized_keys

Gambar 6 - Isi file authorized_keys

Jika sistem Anda tidak memiliki perintah ssh-copy-id, Anda dapat melakukan tugas yang sama secara manual, namun melibatkan beberapa langkah.

Ikuti instruksi berikut, dan jalankan perintah satu per satu:

# Tampilkan kunci publik Anda dan salin
cat ~/.ssh/id_rsa.pub

# Terhubung ke server jarak jauh Anda dengan autentikasi kata sandi
ssh username@remote_host

# Buat direktori .ssh jika belum ada
mkdir -p ~/.ssh

# Buka atau buat file authorized_keys dan tempel kunci publik Anda
echo "your_copied_public_key" >> ~/.ssh/authorized_keys

Selesai!

Untuk server yang memerlukan Anda memberikan kunci ke administrator sistem, cukup kirimkan isi file kunci publik Anda. Mereka akan menambahkannya ke server untuk Anda.

Mengonfigurasi SSH untuk autentikasi kunci

Setelah menambahkan kunci publik, Anda mungkin ingin mengonfigurasi server SSH untuk lebih meningkatkan keamanan. Langkah-langkah ini memerlukan hak administratif (sudo).

Untuk mengedit konfigurasi server SSH, buka berkas konfigurasi utama:

sudo nano /etc/ssh/sshd_config

Gambar 7 - Isi file sshd_config

Gambar 7 - Isi file sshd_config

Di file ini, Anda dapat membuat beberapa peningkatan keamanan:

  • Atur PasswordAuthentication no untuk menonaktifkan login kata sandi sepenuhnya.
  • Pastikan PubkeyAuthentication yes disetel (biasanya aktif secara default).
  • Pertimbangkan untuk menyetel PermitRootLogin prohibit-password untuk mencegah login root dengan kata sandi.

Setelah melakukan perubahan, ingat untuk memulai ulang layanan SSH agar perubahan diterapkan:

sudo systemctl restart sshd

Perlu dicatat juga bahwa izin file yang benar sangat penting agar autentikasi kunci SSH berfungsi. Server SSH sangat ketat terkait keamanan dan akan menolak koneksi jika izin terlalu terbuka. Pastikan file Anda memiliki izin berikut:

  • Direktori home Anda: chmod 755 ~.
  • Direktori .ssh: chmod 700 ~/.ssh.
  • File authorized_keys: chmod 600 ~/.ssh/authorized_keys.

Dengan kunci publik yang sudah ditempatkan dan server dikonfigurasi dengan benar, kini Anda dapat terhubung ke server jarak jauh tanpa memasukkan kata sandi. 

Di bagian berikutnya, saya akan menunjukkan cara menggunakan kunci SSH untuk autentikasi.

Cara Menggunakan Kunci SSH untuk Autentikasi

Sekarang Anda siap menikmati kenyamanan dan keamanan autentikasi tanpa kata sandi. Mari kita lihat cara terhubung ke server dan repositori kode menggunakan kunci SSH Anda.

Terhubung ke server jarak jauh dengan autentikasi kunci SSH

Terhubung ke server dengan kunci SSH sama seperti akses SSH biasa, tetapi tanpa prompt kata sandi. Buka terminal dan gunakan perintah SSH standar:

ssh username@hostname

Jika Anda menyimpan kunci di lokasi default (~/.ssh/id_rsa), SSH akan otomatis menemukannya dan menggunakannya. Jika Anda menetapkan frasa sandi saat membuat kunci, Anda perlu memasukkannya, tetapi hanya sekali per sesi.

Untuk kunci yang disimpan di lokasi non-standar, tentukan path dengan flag -i:

ssh -i ~/path/to/your/private_key username@hostname

Gambar 8 - Terhubung ke server jarak jauh melalui SSH

Gambar 8 - Terhubung ke server jarak jauh melalui SSH

Mengetik frasa sandi setiap kali terhubung bisa menjadi melelahkan. Di sinilah SSH agent sangat berguna. Agen berjalan di latar belakang dan menyimpan kunci privat Anda yang telah didekripsi dengan aman di memori, sehingga Anda hanya perlu memasukkan frasa sandi sekali.

Untuk memulai SSH agent dan menambahkan kunci Anda:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

Gambar 9 - SSH agent

Gambar 9 - SSH agent

Anda akan memasukkan frasa sandi sekali, dan agen akan menangani autentikasi untuk semua koneksi berikutnya selama sesi Anda. Ini berguna saat Anda perlu terhubung ke server berkali-kali atau saat menggunakan aplikasi yang membuat banyak koneksi SSH.

Di macOS, SSH agent berjalan otomatis, dan Anda dapat mengaktifkan "ingat frasa sandi di keychain" saat koneksi pertama untuk menghindari memasukkannya kembali di sesi berikutnya. Sayangnya, fitur ini khusus macOS.

Menggunakan kunci SSH untuk autentikasi GitHub/GitLab

Layanan seperti GitHub dan GitLab juga mendukung autentikasi kunci SSH, dan mereka merekomendasikannya dibanding autentikasi berbasis kata sandi.

Untuk menambahkan kunci SSH Anda ke GitHub, mulai dengan membuka GitHub dan masuk ke akun Anda. Lalu, klik foto profil Anda di kanan atas dan pilih "Settings". Di bilah sisi, klik "SSH and GPG keys":

Gambar 10 - Penyiapan autentikasi GitHub (1)

Gambar 10 - Penyiapan autentikasi GitHub (1)

Klik "New SSH key", beri judul deskriptif untuk kunci Anda, tempel kunci publik ke kolom "Key", dan terakhir klik "Add SSH key":

Gambar 11 - Penyiapan autentikasi GitHub (2)

Gambar 11 - Penyiapan autentikasi GitHub (2)

Setelah selesai, Anda akan melihat pesan sukses yang memberi tahu bahwa kunci telah ditambahkan ke akun Anda:

Gambar 12 - Penyiapan autentikasi GitHub (3)

Gambar 12 - Penyiapan autentikasi GitHub (3)

Setelah menambahkan kunci, Anda dapat melakukan clone, pull, dan push ke repositori menggunakan URL SSH alih-alih URL HTTPS. Ini perintah yang akan Anda gunakan:

git clone git@github.com:username/repository.git

Gambar 13 - Melakukan clone repo melalui SSH

Gambar 13 - Melakukan clone repo melalui SSH

Itu saja. Proses untuk GitLab sangat mirip—cukup cari SSH Keys di pengaturan akun Anda.

Singkatnya, menggunakan SSH untuk operasi Git berarti Anda tidak perlu memasukkan nama pengguna dan kata sandi setiap kali berinteraksi dengan repositori jarak jauh. Kunci SSH Anda memberikan autentikasi aman secara otomatis.

Jika Anda bekerja dengan beberapa layanan (misalnya GitHub dan GitLab), Anda bisa mempertimbangkan untuk membuat kunci terpisah untuk masing-masing layanan. Pendekatan ini meningkatkan keamanan dengan membatasi paparan jika satu kunci disusupi.

> Untuk menggali lebih dalam dalam mengelola repositori, silakan lihat Intermediate GitHub Concepts.

Mengelola Kunci SSH

Saat Anda menggunakan kunci SSH di banyak sistem dan layanan, cepat atau lambat Anda memerlukan cara untuk mengelolanya.

Di bagian ini, saya akan menunjukkan yang perlu dilakukan untuk melacak kunci yang ada, menghapus kunci lama atau yang disusupi, dan memecahkan potensi masalah.

Melihat dan membuat daftar kunci SSH

Anda dapat melihat semua kunci SSH dengan memeriksa direktori .ssh di folder home Anda. Direktori ini berisi kunci privat dan kunci publik yang terkait.

Jalankan perintah berikut untuk menampilkan semua file di direktori SSH Anda:

ls -la ~/.ssh

Gambar 14 - Semua file di direktori .ssh

Gambar 14 - Semua file di direktori .ssh

Perintah ini menampilkan semua file di direktori, termasuk yang tersembunyi. Biasanya Anda akan melihat file seperti:

  • id_rsa - Kunci RSA privat Anda.
  • id_rsa.pub - Kunci RSA publik Anda.
  • known_hosts - Daftar server yang pernah Anda hubungi.
  • authorized_keys - Kunci publik yang dapat mengakses mesin ini (jika disiapkan sebagai server).
  • config - Konfigurasi klien SSH Anda (jika Anda membuatnya).

Jika Anda membuat banyak kunci untuk layanan yang berbeda, Anda akan melihat pasangan kunci tambahan dengan nama yang Anda tentukan saat pembuatan.

Untuk memeriksa isi kunci publik tertentu, jalankan perintah berikut:

cat ~/.ssh/id_rsa.pub

Gambar 15 - Isi kunci publik

Gambar 15 - Isi kunci publik

Ini menampilkan kunci publik lengkap, yang diawali dengan ssh-rsa dan diakhiri dengan komentar Anda (biasanya alamat email Anda).

Menghapus kunci SSH

Seiring waktu, Anda mungkin perlu menghapus kunci SSH dengan berbagai alasan - mungkin Anda memperbarui ke tipe kunci yang lebih kuat, perangkat hilang, atau Anda tidak lagi memerlukan akses ke sistem tertentu.

Untuk menghapus kunci dari server jarak jauh, Anda harus mengedit file authorized_keys:

# Terhubung ke server jarak jauh
ssh username@remote_host

#  Buka file authorized_keys:
nano ~/.ssh/authorized_keys

Untuk GitHub dan GitLab, menghapus kunci bahkan lebih sederhana:

  1. Masuk ke pengaturan akun Anda.
  2. Buka bagian "SSH and GPG keys".
  3. Temukan kunci yang ingin Anda hapus.
  4. Klik ikon hapus di sebelah kunci tersebut.

Gambar 16 - Konfirmasi penghapusan kunci di GitHub

Gambar 16 - Konfirmasi penghapusan kunci di GitHub

Terakhir, untuk menghapus kunci dari mesin lokal, cukup hapus file-nya:

rm ~/.ssh/id_rsa ~/.ssh/id_rsa.pub

Ganti id_rsa dengan nama kunci yang ingin Anda hapus.

Jika Anda perlu menghapus host jarak jauh dari file known_hosts (biasanya setelah server dikonfigurasi ulang), jalankan perintah ini:

ssh-keygen -R hostname

Ini menghapus entri host yang ditentukan dari file known_hosts Anda, yang berguna saat Anda mendapatkan galat "host key verification failed".

Memecahkan masalah umum kunci SSH

Autentikasi kunci SSH terkadang bisa gagal karena berbagai alasan. Di bagian ini, saya akan menunjukkan solusi untuk masalah umum.

  • Masalah izin (permissions). SSH ketat soal izin file demi alasan keamanan. Jika izin kunci Anda salah, autentikasi akan gagal. Perbaiki dengan:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 600 ~/.ssh/authorized_keys
  • Masalah frasa sandi. Jika Anda lupa frasa sandi, sayangnya tidak ada cara untuk memulihkannya. Anda harus melakukan langkah-langkah berikut:
    • Buat pasangan kunci baru.
    • Tambahkan kunci publik baru ke sistem jarak jauh Anda.
    • Hapus pasangan kunci lama.
  • Connection refused. Jika Anda mendapatkan galat "Connection refused", ada banyak kemungkinan alasan. Berikut langkah-langkah yang perlu Anda lakukan untuk mengatasinya:
    • Verifikasi server berjalan dan dapat dijangkau.
    • Periksa bahwa layanan SSH berjalan di server.
    • Pastikan Anda menggunakan port yang benar (default 22).
  • Kegagalan autentikasi. Jika Anda mendapatkan galat "Permission denied (publickey)", lakukan langkah-langkah berikut untuk mengatasinya:
    • Pastikan kunci publik Anda ditambahkan dengan benar ke file authorized_keys server.
    • Periksa bahwa server mengizinkan autentikasi kunci publik.
    • Verifikasi Anda menggunakan nama pengguna dan hostname yang benar.
    • Pastikan Anda menggunakan kunci privat yang benar.
  • Masalah agen. Masalah ini bisa muncul jika SSH agent tidak berfungsi. Berikut yang harus Anda lakukan:
    • Konfirmasikan agen berjalan dengan ssh-add -l.
    • Jika tidak berjalan, mulai dengan eval "$(ssh-agent -s)".
    • Tambahkan kunci Anda dengan ssh-add ~/.ssh/id_rsa.

Selanjutnya, mari kita bahas beberapa praktik terbaik untuk manajemen kunci SSH.

Praktik Terbaik untuk Manajemen Kunci SSH

Autentikasi SSH sangat baik untuk menjaga sistem Anda dari akses yang tidak diinginkan, tetapi jujur saja - kadang bisa agak merepotkan. Tips berikut ini bertujuan menemukan titik tengah antara keamanan kuat dan kenyamanan harian.

Menggunakan frasa sandi yang kuat untuk kunci SSH

Frasa sandi kunci privat Anda bertindak sebagai garis pertahanan terakhir jika seseorang mendapatkan file kunci Anda. Selalu pilih frasa sandi yang kuat dan unik yang sulit ditebak tetapi mudah Anda ingat.

Frasa sandi yang baik memiliki karakteristik berikut:

  • Berisi setidaknya 12-15 karakter.
  • Mencakup campuran huruf besar, huruf kecil, angka, dan karakter khusus.
  • Menghindari pola umum atau kata dalam kamus.
  • Tidak digunakan ulang dari layanan lain.

Untuk kunci yang mengakses sistem kritis atau lingkungan produksi, frasa sandi yang kuat mutlak diperlukan. Ketidaknyamanan kecil untuk sesekali mengetiknya jauh lebih kecil daripada risikonya.

Saat Anda menggunakan SSH agent, Anda hanya perlu memasukkan frasa sandi sekali per sesi. Ini membuat frasa sandi yang kuat tetap praktis untuk penggunaan harian. Pertimbangkan menggunakan pengelola kata sandi untuk menyimpan frasa sandi kompleks secara aman.

Menggunakan kunci berbeda untuk sistem berbeda

Anda sebaiknya selalu membuat pasangan kunci terpisah untuk layanan atau tingkat keamanan yang berbeda alih-alih menggunakan satu kunci untuk semuanya. Kompartmentalisasi ini membatasi paparan jika satu kunci disusupi.

Sebagai contoh, Anda dapat membuat:

  • Kunci kerja untuk server perusahaan Anda.
  • Kunci personal untuk proyek di rumah.
  • Kunci khusus untuk GitHub atau GitLab.
  • Kunci keamanan tinggi untuk sistem produksi.

Sekali lagi, sedikit merepotkan, tetapi sepadan dengan upaya ekstra.

Saat membuat banyak kunci, gunakan nama file deskriptif yang mengidentifikasi tujuannya:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/github_rsa -C "github access"

Untuk menggunakan kunci tertentu saat terhubung, Anda dapat menyiapkan file konfigurasi dengan nyaman:

# ~/.ssh/config
Host github.com
    IdentityFile ~/.ssh/github_rsa

Host companyserver
    HostName 255.255.255.255
    User ubuntu
    IdentityFile ~/.ssh/company_server_rsa

Pendekatan ini memastikan bahwa jika satu kunci disusupi, Anda hanya perlu mengganti kunci itu saja alih-alih memperbarui semua sistem Anda.

Secara berkala merotasi kunci SSH

Secara berkala mengganti kunci SSH mengurangi risiko kompromi yang tidak terdeteksi dan mengikuti praktik keamanan terbaik. 

Seberapa sering Anda harus melakukannya bergantung pada sensitivitasnya:

  • Proyek pribadi: Setiap 1-2 tahun.
  • Sistem bisnis: Setiap 6-12 bulan.
  • Lingkungan keamanan tinggi: Setiap 3-6 bulan.
  • Segera setelah anggota tim keluar atau terjadi aktivitas mencurigakan.

Proses rotasi kunci SSH meliputi membuat pasangan kunci baru, menambahkan kunci publik baru ke server, memverifikasi kunci baru berfungsi, menghapus kunci publik lama dari server, dan menghapus kunci privat lama dari mesin lokal Anda.

Dengan kata lain, ini memakan waktu, jadi rencanakan dalam jadwal Anda.

Selain itu, sebaiknya catat kunci mana yang memiliki akses ke sistem mana. Untuk organisasi, pertimbangkan menerapkan alat manajemen kunci otomatis yang menangani rotasi secara sistematis.

Mewajibkan autentikasi kunci SSH

Langkah keamanan terkuat yang dapat Anda terapkan adalah sepenuhnya menonaktifkan autentikasi kata sandi di server Anda dan mewajibkan kunci SSH untuk semua koneksi.

Ikuti langkah-langkah berikut untuk menerapkan autentikasi berbasis kunci:

# Edit konfigurasi server SSH Anda
sudo nano /etc/ssh/sshd_config

# Atur opsi keamanan penting ini
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

# Mulai ulang layanan SSH
sudo systemctl restart sshd

Konfigurasi ini sepenuhnya mencegah serangan brute force pada kata sandi. 

Namun sebelum membuat perubahan ini, pastikan autentikasi kunci SSH Anda berfungsi dengan baik agar tidak mengunci diri Anda sendiri. Ini bisa terjadi.

Ringkasan Kunci SSH

Sebagai penutup, bisa dikatakan bahwa kunci SSH mengubah cara Anda terhubung ke sistem jarak jauh. Beralih dari kata sandi ke autentikasi berbasis kunci meningkatkan alur kerja harian Anda baik dari sisi keamanan maupun kenyamanan.

Manfaat lainnya adalah prosesnya tidak rumit. Anda perlu membuat kunci, menambahkannya ke server yang Anda akses, dan terhubung tanpa mengetik kata sandi. Itu saja! Dibandingkan autentikasi berbasis kata sandi tradisional, kunci SSH membuat koneksi Anda lebih cepat dan andal, serta memblokir metode serangan umum seperti menebak kata sandi.

Ingat bahwa kunci privat Anda memerlukan perlindungan. Gunakan frasa sandi yang kuat, jaga kunci Anda tetap aman, dan ikuti praktik terbaik yang diuraikan dalam artikel ini, terutama terkait pengompartementalan kunci SSH. 

Jika Anda ingin mempelajari lebih lanjut tentang kunci SSH dan bekerja dengan command line secara umum, kursus-kursus dari DataCamp ini adalah langkah terbaik berikutnya:

FAQs

Apa keunggulan kunci SSH dibanding kata sandi?

Kunci SSH memberikan keamanan yang lebih kuat karena tidak dapat dibobol brute force seperti kata sandi. Kunci ini juga lebih nyaman karena Anda tidak perlu mengetik kata sandi untuk setiap koneksi. Selain itu, kunci SSH memungkinkan otomatisasi yang aman untuk skrip dan program yang perlu membuat koneksi aman.

Apakah saya perlu keterampilan teknis untuk menyiapkan kunci SSH?

Pemahaman dasar command line membantu tetapi tidak wajib. Proses penyiapan melibatkan menjalankan beberapa perintah sederhana untuk membuat kunci Anda dan menambahkannya ke sistem jarak jauh. Bahkan jika Anda baru dalam command line, Anda dapat mengikuti instruksi langkah demi langkah di artikel ini untuk berhasil menerapkan kunci SSH.

Bisakah saya menggunakan kunci SSH di semua sistem operasi?

Ya. Kunci SSH berfungsi di Windows, macOS, Linux, dan sistem berbasis Unix lainnya. Semua sistem operasi modern menyertakan alat SSH secara default atau menyediakannya melalui paket opsional. Pasangan kunci yang sama dapat digunakan di berbagai sistem operasi.

Bagaimana cara memecahkan galat "Permission denied (publickey)"?

Galat umum ini biasanya menunjukkan kunci Anda belum terdaftar dengan benar di server. Verifikasi kunci publik Anda telah ditambahkan dengan tepat ke file authorized_keys di sistem jarak jauh, periksa izin file sudah benar (600 untuk kunci privat), dan pastikan Anda menggunakan nama pengguna dan hostname yang benar saat terhubung.

Apakah mungkin menggunakan kunci SSH yang sama untuk proyek kerja dan pribadi?

Secara teknis memungkinkan, namun tidak disarankan demi keamanan. Menggunakan kunci terpisah untuk lingkungan yang berbeda membatasi paparan jika satu kunci disusupi. Buat kunci yang berbeda untuk pekerjaan, proyek pribadi, dan sistem sensitif guna menjaga batas keamanan yang lebih baik.


Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Senior Data Scientist yang berbasis di Kroasia. Penulis Tekno Teratas dengan lebih dari 700 artikel yang telah diterbitkan, menghasilkan lebih dari 10 juta tayangan. Penulis buku Machine Learning Automation with TPOT.
Topik
Rekayasa Data

Pelajari data engineering dan keamanan melalui kursus-kursus ini!

Kursus

Pengantar Keamanan Data

2 jam
14.7K
Pelajari cara menjadi pelindung data dan menjaga data tetap aman dan terlindungi dengan kursus interaktif yang ramah pemula ini.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya