in FOSS, Networking

Cara Install SSH Server di Debian 9 Server

Secure Shell (SSH) adalah protokol internet untuk remote komputer (server) yang dapat menjalankan perintah berbasis command line interface (CLI). Pada umumnya server yang mengaktifkan SSH server adalah server dengan sistem operasi keluarga Unix/Unix Like (Linux, BSD). Aplikasi SSH server yang digunakan adalah OpenSSH yang terlahir dari tangan-tangan developer OpenBSD Project.

Selain untuk kebutuhan remote server, OpenSSH server juga mendukung untuk transfer file secara aman menggunakan Secure Copy (scp) dan Secure File Transfer Protocol (SFTP).

0. Install SSH Server

Pada saat install Debian 9 minimal server, SSH server telah diinstall. Tapi jika belum terinstall, jalankan perintah install SSH server di bawah ini.

Jalankan service.

Login ke SSH Server

PC client Linux yang akan meremote server bisa langsung menggunakan SSH client melalui terminal. Jika belum tersedia install terlebih dahulu OpenSSH client.

Perintah login SSH.

Cara Install SSH Server di Debian 9 Server

Login SSH dengan password

Pada gambar di atas login dengan user musa di server dengan IP address 192.168.100.1. Konfigurasi SSH server di Debian 9 ini tidak mengijinkan user root untuk login menggunakan password demi alasan keamanan. Jadi login SSH pakai user selain root, setelah berhasil login ke server barulah menjadi user root dengan menggunakan perintah su dan melakukan konfigurasi keamanan tambahan untuk SSH server atau konfigurasi server lainnya.

PC client Windows dapat menggunakan aplikasi SSH client seperti PuTTY atau Xshell.

1. Mengganti Default Port SSH

Secara default nomor port untuk protokol SSH adalah nomor 22. Kita dapat mengganti default port SSH, agar menyulitkan orang yang tidak berhak untuk login SSH. Nomor port SSH 22 diganti ke salah satu nomor port antara 49152-65535. Kenapa menggunakan nomor 49152? Karena nomor di bawah 49152 sudah didefinisikan atau digunakan oleh server/service yang lain yang telah ditentukan oleh Internet Assigned Numbers Authority (IANA).

  • Ports 0-1023 = system or well-known ports.
  • Ports 1024-49151 = user or registered ports.
  • Ports 49152-65535 = dynamic / private ports

Bagaimana kalau nomor port diganti dengan nomor port antara 1-49151? Sebenarnya bisa saja tidak mengikuti aturan itu, selama nomor port yang dipasang belum terpakai di server.

Cara mengecek nomor port yang sedang aktif.

Cara Install SSH Server di Debian 9 Server

Netstat

Pada kolom Local Address, misal 0.0.0.0:22, 22 adalah nomor port aktif yang digunakan oleh program atau service sshd (ssh daemon/service). Di tutorial ini saya mengganti nomor port SSH dari 22 ke 49152.

Mengganti Nomor Port SSH

Buka file konfigurasi SSH server.

Cari baris opsi #Port 22, lepas tanda #, ganti nomor 22 ke 49152.

Cara Install SSH Server di Debian 9 Server

Mengganti port SSH

Save CTRL+O, Exit CTRL+X.
Setiap setelah mengubah konfigurasi service jangan lupa restart service.

Cara Install SSH Server di Debian 9 Server

Status service ssh dan netstat

Dari perintah melihat status service ssh terlihat SSH server berjalan pada nomor port 49152. Begitu juga dengan perintah netstat menampilkan nomor port 49152 digunakan oleh sshd.

Login SSH dengan Custom Port

Untuk login SSH dengan custom port harus menambahkan opsi nomor port.

Jika tetap mencoba melakukan login SSH dengan port default tampil pesan error seperti di bawah ini.

2. Nonaktifkan Root Login

Jangan ijinkan root untuk bisa login SSH. Cukup user biasa yang bisa login dan nantinya dapat berubah menjadi root. Bisa juga dengan menentukan user dan group mana saja yang bisa login.

Nonaktifkan root login, cari opsi PermitRootLogin.

Selanjutnya hanya mengijinkan user dan group tertentu untuk login SSH atau memblokir login SSH untuk user dan group tertentu. Tambahkan opsi di bawah ini dan tuliskan nama group dan usernya.

3. Login dengan Key

Login SSH dengan key bisa menutupi kelemahan login SSH dengan password yang kemungkinan bisa ditembus dengan serangan brute-force (mencoba login dengan koleksi password). Di PC client kita membuat key dengan menggunakan ssh-keygen, hasilnya ada private key dan public key. Isi dari public key dicopy ke server sementara private key berada di PC client yang akan digunakan untuk login.

Membuat SSH Key
Cara membuat SSH key sangat mudah, cukup menjalankan perintah ssh-keygen.

Cara Install SSH Server di Debian 9 Server

Membuat SSH key dengan ssh-keygen

Dari gambar di atas terlihat bahwa file key tersimpan di direktori /home/user/.ssh/ dengan nama file key-debian. File key terbagi 2 yaitu key-debian untuk private key dan key-debian.pub untuk public key.

Mengcopy SSH Key ke Server
Cara 1: Dengan menggunakan perintah ssh-copy.

Cara Install SSH Server di Debian 9 Server

Copy Key ke Server

Jangan lupa tambahkan opsi custom port jika sudah mengubah nomor port SSH.

Cara 2: Dengan menggunakan kombinasi perintah cat dan ssh.

Tampilkan isi file namakey.pub, lalu login SSH ke server dan isi dari file key tadi ke dalam file authorized_keys.

Kalau di server belum ada direktori .ssh dalam direktori home, tambahkan perintah mkdir.

Mengaktifkan Login SSH dengan Key
Selanjutnya cari dan aktifkan opsi di bawah ini pada file konfigurasi SSH server.

Restart service ssh.

Cara Login SSH dengan Key
Setelah mengaktifkan login SSH dengan key, ketika mencoba login SSH dengan password akan tampil pesan error seperti di bawah ini.

Login SSH dengan key.

Cara Install SSH Server di Debian 9 Server

Login SSH dengan key

Kita bisa membuat file config login SSH untuk mengatur konfigurasi login SSH semua server yang kita miliki.

Isinya

Dengan file config di atas, perintah login lebih pendek, tidak harus menuliskan user, IP address, nomor port dan nama file key. Hal ini berarti yang sedang melihat layar monitor tidak mengetahui secara detail mengenai login SSH server kita.

Cara Install SSH Server di Debian 9 Server

Login SSH menggunakan file config

Selamat mencoba 🙂

Write a Comment

Comment