Jumat, 12 November 2021

Konfig SSH Server

 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 (LinuxBSD). 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.

1

apt install openssh-server -y

Jalankan service.

1

2

3

systemctl start ssh

systemctl enable ssh

systemctl status ssh

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.

1

apt install openssh-client -y

Perintah login SSH.

1

ssh user@ip-server

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.

1

netstat -tulpn

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.

1

nano /etc/ssh/sshd_config

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.

1

2

3

systemctl restart ssh

systemctl status ssh

netstat -tulpn | grep ssh

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.

1

ssh musa@192.168.100.1 -p 49152

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

1

ssh: connect to host 192.168.100.1 port 22: Connection refused

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.

1

PermitRootLogin no

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.

1

2

3

4

AllowGroups adminserver

AllowUsers linus ian

DenyGroups member

DenyUsers kevin

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.

1

ssh-copy-id -i ~/.ssh/namakey user@ip-server

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.

1

cat ~/.ssh/namakey.pub | ssh user@ip-server "cat >> ~/.ssh/authorized_keys"

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

1

cat ~/.ssh/namakey.pub | ssh user@ip-server "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"

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

1

2

3

PubkeyAuthentication yes

PasswordAuthentication no 

PermitEmptyPasswords no



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.

1

Permission denied (publickey).

Login SSH dengan key.

1

ssh -i ~/.ssh/namakey user@ip-server

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.

1

nano ~/.ssh/config

Isinya

1

2

3

4

5

6

7

8

9

10

11

Host ServerA

HostName 192.168.1.10

  IdentityFile ~/.ssh/key-serverA

  Port 49253

  User linus

 

Host ServerB

HostName 192.168.1.20

  IdentityFile ~/.ssh/key-serverB

  Port 49353

  User torvalds  

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.

1

ssh ServerA

Cara Install SSH Server di Debian 9 Server

Login SSH menggunakan file config


Tidak ada komentar:

Posting Komentar

JOBSHEET ROUTER

JOBSHEET ROUTER Konfigurasi Router Debian 9/10 Pada langkah pertama disini telah tersedia Komputer yang telah terinstall Debian 9 “Stretch” ...