Skip to content

Installasi & Konfigurasi SSH Server Management & Securing Linux

SSH adalah singkatan dari secure-shell dari namanya sudah bisa ditebak ssh adalah shell yang aman. Apa maksud dari shell yang aman? sebelum ada ssh, untuk meremote sebuah komputer dari jarak jauh tidak ada enkripsi untuk proses autentikasinya, jadi proses login ke sebuah komputer menggunakan plaintext sehingga data komunikasi antar komputer bisa terbaca, tentu sangat tidak aman. Oleh karena itu SSH hadir sebagai solusi dari masalah tersebut.

OpenSSH adalah software yang free dan opensource pengganti SSH yang proprietary, OpenSSH awalnya dikembangkan oleh OpenBSD Project hingga sekarang OpenSSH sudah umum ada di sistem operasi unix-like seperti Linux bahkan di Windows.

Di Red Hat Linux terdapat 2 paket untuk OpenSSH yaitu openssh-server dan openssh-client, openssh-server berfungsi ketika kita ingin mengkonfigurasi agar host/komputer kita bisa di remote, sedangkan openssh-client berfungsi ketika kita ingin meremote host/komputer lain. Secara default di Red Hat Linux 2 paket tersebut sudah terinstall, jadi kita tinggal mengkonfigurasi dan memakainya.

OpenSSH Client Tools

Berikut beberapa perintah yang bisa dipakai untuk client ssh

PerintahKeterangan
sshBerfungsi untuk melakukan remote login secara aman
scpBerfungsi untuk melakukan remote copy / menyalin file dari server ke client maupun sebaliknya.
ssh-copy-idBerfungsi untuk menyalin public key ke host yang mau diremote
ssh-keygenBerfungsi untuk menggenerate dan mengatur sebuah private/public key

OpenSSH Server

File konfigurasi ssh server ada di /etc/ssh/sshd_config disini kita bisa mengatur banyak opsi seperti mengganti port, mengubah proses autentikasi dll. Secara default SSH berjalan di port 22.

Coba kita ubah konfigurasinya agar berjalan di port 1122

[root@server1 ~]# vim /etc/ssh/sshd_config

Pada Opsi #Port 22 hilangkan tanda # dan ubah port dari 22 menjadi 1122 kemudian save

Selanjutnya ubah kita ubah bind port ssh di SELinux

Install dulu semanage di Red Hat Linux

dnf install policycoreutils-python-utils -y

Kemudian tambahkan bind port dengan perintah

semanage port -a -t ssh_port_t -p tcp 1122

Kemudian tambahkan port 1122 ke firewall

firewall-cmd --add-port=1122/tcp --permanent
firewall-cmd --reload

Terakhir restart service sshd

systemctl restart sshd

Jangan lupa cek juga apakah port 1122 sudah berjalan

Uji coba menggunakan perintah ssh di Linux-Client

Format perintah ssh user@ipkomputeryangdiremote, misal disini kita melakukan remote login menggunakan user arya di host yang beralamat ip 172.23.2.80

ssh [email protected]

Karena tadi kita sudah mengganti portnya ke 1122 maka kita perlu menambahkan parameter -p

ssh [email protected] -p 1122

Menggunakan perintah ssh di Windows-client

Untuk pengguna Windows bisa menggunakan aplikasi putty ataupun CMD, disini kita kan menggunakan aplikasi putty

Download Putty disini dan lakukan installasi

Setelah itu buka Putty, pada Host Name isi IP Address yaitu 172.23.2.80 dan Port 1122 kemudian klik Open untuk mengkoneksikan

Menonaktifkan Root Login pada SSH

Agar user root tidak bisa di remote melalui ssh, maka kita perlu mengubah konfigurasi PermitRootLogin menjadi No di file konfigurasi

vim /etc/ssh/sshd_config

Disini kita juga mengatur maksimal percobaan masuk untuk autentikasi, membatasi maksimal sesi login dengan menghapus tanda #

Jangan lupa untuk me-restart service sshd agar konfigurasi yang barusan kita lakukan bisa diterapkan.

SSH Menggunakan Key Pair

Agar lebih aman kita bisa menggunakan key pair yaitu private dan public key sehingga hanya orang yang mempunyai private key saja yang bisa login ke host

Membuat keypair di Linux

Untuk membuat key-pair caranya cukup mudah, tinggal gunakan perintah ssh-keygen

ssh-keygen

Untuk passphrase bisa di isi atau dikosongkan, file key akan tersimpan di folder .ssh

Membuat keypair

Bagaimana cara menggunakannya?

Caranya cukup mudah yaitu bisa kita copy public key yang sudah kita buat ke host yang mau diremote dengan perintah ssh-copy-id

ssh-copy-id -i .ssh/id_rsa.pub [email protected] -p 1122

Setelah parameter -i kita arahkan ke lokasi private key yang tadi kita buat, kemudian jangan lupa menggunakan parameter -p 1122 karena tadi kita sudah ubah untuk port sshnya.

Lalu masukkan password user, kemudian kita coba login lagi, dan kitapun bisa login tanpa menggunakan password melainkan menggunakan key

Untuk tambahan keamanan pada server, bisa menonaktifkan PasswordAuthentication, jadi cara meremote ssh ke server hanya melalui Key saja

vim /etc/ssh/sshd_config
PasswordAuthentication No

Kemudian geser kebawah sampai menemukan konfigurasi PasswordAuthentication kita ubah menjadi no

Setelah itu lakukan restart service sshd

systemctl restart sshd

Setelah konfigurasi diatas diterapkan maka meskipun ada orang yang login dengan user dan password yang benar maka akan ditolak, proses autentikasi pada ssh hanya menggunakan key saja.

Melimit user yang bisa melakukan SSH

Caranya cukup mudah yaitu tinggal menambahkan konfigurasi AllowUsers

vim /etc/ssh/sshd_config
AllowUsers dika

Jika konfigurasi ini diterapkan maka user yang bisa melakukan remote hanya dika, user yang lain yang mencoba login akan ditolak.

Sebaliknya kita juga memblokir user tertentu agar tidak bisa melakukan ssh dengan DenyUsers

Published inCentosLinuxRed HatUbuntu

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *