Cara Menginstalasi dan Mengkonfigurasi SSH
SSH (Secure Shell) adalah protokol yang digunakan untuk menyambung secara aman ke sistem jarak jauh, menjalankan perintah, dan mentransfer data. Protokol ini menyediakan metode yang aman bagi administrator sistem, pengembang, dan pengguna untuk mengelola server dan perangkat lain dari jarak jauh, dengan menggunakan koneksi terenkripsi. Menginstal dan mengonfigurasi SSH sangat penting untuk mengakses server dengan aman, baik untuk administrasi sistem, pekerjaan jarak jauh, atau tujuan pengembangan.
Pada artikel ini, kami akan memandu Anda tentang cara menginstal dan mengonfigurasi SSH pada Linux, yang mencakup dasar-dasar, opsi konfigurasi, dan rekomendasi keamanan.
Apa itu SSH?
SSH adalah singkatan dari Secure Shell, dan memungkinkan pengguna untuk terhubung dengan aman ke sistem jarak jauh melalui antarmuka baris perintah. Protokol ini mengenkripsi data antara klien dan server, menjadikannya metode komunikasi yang aman, terutama untuk mengakses server melalui jaringan yang tidak aman seperti internet.
SSH beroperasi melalui port 22 secara default dan dapat digunakan untuk:
- Login jarak jauh ke server
- Transfer file yang aman (menggunakan SCP atau SFTP)
- Eksekusi perintah jarak jauh
- Penerusan dan terowongan porta
Langkah 1: Menginstalasi SSH
Sebagian besar distribusi Linux dilengkapi dengan SSH yang sudah terinstal, tetapi jika belum terinstal, Anda dapat dengan mudah menginstalnya menggunakan manajer paket untuk distribusi Anda.
Untuk Ubuntu/Debian:
Untuk CentOS/RHEL:
Untuk Fedora:
Untuk Arch Linux:
Setelah instalasi, Anda akan memiliki server dan klien OpenSSH yang terinstal, sehingga Anda dapat menjalankan server SSH dan menyambung ke server SSH lainnya.
Langkah 2: Memulai dan Mengaktifkan Layanan SSH
Setelah terinstal, Anda perlu memulai layanan SSH (juga dikenal sebagai sshd – SSH daemon) dan mengaktifkannya untuk berjalan pada saat pengaktifan sistem.
Memulai Layanan SSH:
Mengaktifkan SSH untuk Memulai saat Boot:
Anda dapat memeriksa apakah SSH berjalan dengan benar dengan mengetik:
Jika layanan berjalan, Anda akan melihat status aktif yang menunjukkan bahwa SSH siap menerima koneksi.
Langkah 3: Konfigurasi SSH Dasar
Perilaku SSH dikendalikan oleh file konfigurasi yang terletak di:
Anda dapat mengedit file ini untuk memodifikasi pengaturan SSH, seperti mengubah port default, menonaktifkan login root, atau mengatur autentikasi berbasis kunci.
Untuk mengedit berkas ini, gunakan editor teks seperti nano atau vim:
Beberapa perubahan konfigurasi yang umum meliputi:
1. Mengubah Port SSH Default
Untuk alasan keamanan, sebaiknya ubah port SSH default dari 22 ke port yang lain. Hal ini membantu mengurangi risiko serangan otomatis yang menargetkan port SSH default.
Temukan baris berikut ini dalam berkas konfigurasi:
Hapus komentarnya dan ubah nomor port:
Setelah menyimpan file, mulai ulang layanan SSH untuk menerapkan perubahan:
Pastikan untuk memperbarui aturan firewall Anda untuk mengizinkan koneksi pada port yang baru.
2. Nonaktifkan Login Root
Mengizinkan login root melalui SSH adalah risiko keamanan. Untuk mencegah hal ini, temukan baris berikut ini dalam file konfigurasi:
Ubah menjadi:
Ini akan mencegah akses root langsung melalui SSH. Pengguna masih dapat masuk dengan akun biasa dan kemudian beralih ke root menggunakan sudo atau su.
3. Mengaktifkan Autentikasi Berbasis Kunci
Autentikasi berbasis kunci SSH adalah metode yang lebih aman daripada menggunakan kata sandi. Metode ini melibatkan pembuatan pasangan kunci SSH (kunci publik dan privat) dan menggunakan kunci privat untuk mengautentikasi.
Untuk mengaktifkan autentikasi berbasis kunci, cari baris berikut dan pastikan baris tersebut disetel ke ya:
Ini menonaktifkan login berbasis kata sandi dan hanya mengizinkan akses SSH melalui autentikasi berbasis kunci.
Langkah 4: Membuat Kunci SSH (Autentikasi Berbasis Kunci)
Pasangan kunci SSH menyediakan cara yang aman untuk masuk tanpa kata sandi. Berikut ini cara membuat dan mengatur kunci SSH:
Langkah 1: Membuat Pasangan Kunci SSH
Pada mesin lokal Anda, jalankan perintah berikut untuk menghasilkan pasangan kunci:
Anda akan diminta untuk memasukkan nama file untuk menyimpan kunci (atau tekan Enter untuk menggunakan lokasi default) dan kata sandi opsional untuk keamanan ekstra.
Hal ini akan membuat dua file:
- ~/.ssh/id_rsa: Kunci pribadi Anda (jaga agar tetap aman dan jangan dibagikan).
- ~/.ssh/id_rsa.pub: Kunci publik Anda (ini dapat dibagikan dan ditambahkan ke server jarak jauh).
Langkah 2: Salin Kunci Publik ke Server
Untuk menggunakan kunci untuk login SSH, salin kunci publik ke server jarak jauh yang ingin Anda akses. Anda dapat melakukan ini dengan perintah ssh-copy-id:
Ganti username dengan nama pengguna server jauh Anda dan remote_host dengan alamat IP atau nama host server.
Ini akan menyalin kunci publik Anda ke server dan menambahkannya ke berkas ~/.ssh/authorized_keys, sehingga Anda dapat masuk tanpa kata sandi.
Langkah 3: Masuk Menggunakan Kunci SSH
Sekarang, Anda dapat masuk ke server jauh menggunakan kunci privat Anda:
Jika Anda telah menetapkan porta khusus, tentukan dengan opsi -p:
Langkah 5: Mengamankan Konfigurasi SSH Anda
Setelah menyiapkan SSH, penting untuk mengikuti praktik terbaik keamanan untuk memastikan bahwa server Anda terlindungi dari akses yang tidak sah.
1. Gunakan Kata Sandi yang Kuat (Jika Menggunakan Otentikasi Kata Sandi)
Jika Anda tidak menggunakan autentikasi berbasis kunci, pastikan semua akun pengguna menggunakan kata sandi yang kuat dan kompleks.
2. Gunakan Firewall
Pastikan firewall server Anda hanya mengizinkan lalu lintas pada port SSH yang Anda gunakan. Sebagai contoh, jika Anda mengubah SSH ke port 2222, izinkan lalu lintas pada port tersebut menggunakan ufw (pada Ubuntu/Debian) atau firewalld (pada CentOS/RHEL).
3. Membatasi Akses SSH
Batasi akses SSH ke alamat atau rentang IP tertentu dengan mengonfigurasi firewall atau menggunakan /etc/hosts.allow dan /etc/hosts.deny.
Langkah 6: Menguji dan Mengatasi Masalah SSH
Setelah mengonfigurasi SSH, penting untuk menguji pengaturan Anda. Cobalah untuk masuk menggunakan SSH untuk memastikan semuanya bekerja dengan benar.
Tips Pemecahan Masalah SSH yang Umum:
- Periksa Pengaturan Firewall: Pastikan firewall tidak memblokir port SSH.
- Periksa Status Layanan SSH: Pastikan layanan SSH berjalan dengan status systemctl ssh.
- Verifikasi Konfigurasi: Periksa ulang berkas /etc/ssh/sshd_config untuk mengetahui adanya kesalahan konfigurasi.
- Gunakan Mode Verbose untuk Debugging: Jika ada masalah, gunakan opsi -v saat menyambung untuk melihat keluaran terperinci:
Kesimpulan
Menginstalasi dan mengonfigurasi SSH merupakan keahlian mendasar bagi administrator atau pengguna Linux yang perlu mengelola sistem jarak jauh dengan aman. Dengan mengikuti panduan ini, Anda bisa menyiapkan SSH, mengonfigurasinya untuk akses yang aman, dan menerapkan praktik-praktik terbaik untuk melindungi server Anda dari akses yang tidak sah. Setelah dikonfigurasi, SSH menjadi alat yang ampuh untuk manajemen jarak jauh, otomatisasi, dan komunikasi yang aman di antara sistem.