Secure Shell atau SSH adalah protokol jaringan yang memungkinkan pertukaran data melalui saluran aman antara dua perangkat jaringan. Terutama banyak digunakan pada sistem berbasis Linux dan Unix untuk mengakses akun shell, SSH dirancang sebagai pengganti Telnet dan shell remote tak aman lainnya, yang mengirim informasi, terutama kata sandi, dalam bentuk teks sederhana yang membuatnya mudah untuk dicegat. Enkripsi yang digunakan oleh SSH menyediakan kerahasiaan dan integritas data melalui jaringan yang tidak aman seperti Internet.
Berikut ini konfigurasi Server SSH. Selamat Membaca!
Ini topologi dan ip yang saya gunakan.
- KONFIGURASI SERVER
1. Pertama install server SSH dengan perintah "yum install openssh-server -y".
2. Untuk melihat apakah paket sudah terinstall yaitu dengan perintah "rpm -qa |grep ssh".
grep : adalah sebuah perintah yang berfungsi untuk mencari sebuah string pada suatu file.
ssh : adalah string yang akan dicari.
3. Untuk mengetahui versi SSH bisa menggunakan perintah "ssh -V".
- KONFIGURASI CLIENT WINDOWS
1. Buka putty nya, dan masukan hostname dengan Ip Server. Dan port nya 22.
2. Login sebagai root dan masukan password server.
- KONFIGURASI CLIENT LINUX
1. Jika pada client linux, disini saya menggunakan Centos nelum terinstall paket openssh maka kita diinstall juga dengan perintah "yum install openssh-server -y".
2. Jika sudah diinstall lakukan remote dengan perintah "ssh root@ipserver" atau dengan "ssh -l root ipserver" seperti dibawah ini.
root : ini ada user yang dipilih sewaktu ingin mengakses ssh
192.168.43.2 : adalah ip server yang akan diakses client.
- KONFIGURASI DISABLE ROOT ACCESS DAN LIMIT USER ACCESS
Cara ini adalah dengan menonaktifkan SSH login menggunakan root dan hanya memperbolehkan user account yang bisa login akan menambah keamanan pada server yang telah kita buat.
1. Kita harus membuat user dan password baru dengan perintah "adduser_nama" untuk membuat userbaru dan "passwd_passnya" untuk membuat password.
passwd : untuk password yang digunakan pada user baru.
2. Kemudian edit file dengan cara "nano /etc/ssh/sshd_config" perintah nano digunakan apabila kita sudah install nano. Kemudian ubah PermitRootLogin yes menjadi PermitRootLogin no agar tidak bisa remote menggunakan user root, jadi bisa nya remote menggunakan user yang tadi dibuat.
PermitRootLogin no : artinya bahwa root tidak bisa atau tidak diperbolehkan login.
3. Dibawahnya tambahnkan script untuk user yang diperbolehkan login ssh dengan perintah "AllowUsers_namauser".
AllowUsers tkj3 : Artinya yang bisa login hanya user tkj3.
4. Kemudian restart ssh dengan perintah "systemctl restart shd".
- VERIFIKASI CLIENT LINUX
1. Lakukan verifikasi dengan masuk sebagai root. Dan hasilnya tidak bisa karena tadi sudah dikonfig agar yang bisa masuk hanya user yang sudah dibuat.
2. Coba masuk dengan user yang sudah dibuat dengan perintah "ssh_namauser@ipserver" seperti dibawah. Maka akan bisa masuk karena sudah dikonfig yang bisa masuk yaitu user tkj3
3. Coba masuk dengan user lain maka tidak akan bisa masuk.
- KONFIGURASI MENGGANTI PORT SSH
1. Lakukan edit file dengan perintah "nano /etc/ssh/sshd_config". Dan ubah yang tadi nya port 22 menjadi port 222. Jangan lupa hapus tanda pagar ya, tanda pagar aja yang dihapus perasaan jangan wkwk.
2. Selanjutnya daftarkan port yang baru dibuat kedalam sistem selinux pada centos dengan perintah semanage, tetapi kita harus install paketnya dengan perintah "yum install policycoreutils-python -y".
3. Setelah itu daftarkan port SSH yang baru kedalam sistem selinux perintah nya ada dibawah ini.
4. Kemudian daftarkan port SSH yang baru kedalam firewall.
--permanent : adalah perintah untuk menambahkan sesuatu secara permanent didalam firewall.
--add-port : adalah perintah untuk menambahkan port.
222/tcp : adalah port yang ditambahkan kedalam firewall nya, dan tcpnya adalah protokol yang digunakan.
5. Reload firewallnya.
6. Kemudian restart SSH.
7. Kalau mau cek apakah port sudah berubah gunakan perintah "ss -tnlp | grep ssh".
8. Masuk ke client linux dan masuk untuk remote untuk port yang baru dengan perintah "ssh_namauser@ipserver -p 222"
- KONFIGURASI LOGIN BANNER SSH
Banner SSH digunakan untuk menunjukan beberapa pesan atau peringatan sebelum masuk ke sistem server. Pesan yang ditampilkan di banner linux didedikasikan untuk penyusup yang ingin memulai serangan brute force pada server sehingga penyusup akan kesulitan mengetahui password pada server.
1. Untuk masuk ke banner SSH kita harus masuk ke file mybanner dengan cara "nano /etc/mybanner". Dan masukan apa aja pesan yang ingin ditampilkan.
2. Kemudian masuk ke file "nano /etc/ssh/sshd_config" dan tambhkan script dibawah yaitu "Banner /etc/mybanner".
Banner /etc/mybanner adalah file yang akan ditampilkan pada tampilan ssh nanti
3. Masuk pada client maka akan ada tampilan dari banner nya. Maafkan typonya~ :v.
- KONFIGURASI SSH PASSWORD LOGIN MENGGUNAKAN SSH KEYGEN
1. Pertama kita buat Authentication SSH-KEYGEN dengan menggunakan perintah "ssh-keygen".
2. Kemudian remote server SSH untuk membuat directory .ssh. Buat directoty nya dengan perintah "mkdir .ssh".
3. Setelah itu upload file generated public key yang kita buat kedalam directory .ssh dengan nama file authorized_keys. Perintah nya ada dibawah baca aja ya udah males ngetik sumpah-_-.
cat : perintah untuk menampilkan isi dari suatu file ke standart output
.ssh/id_rsa.pub : nama file nya
ssh -p tkj3...... : untuk login ssh tkj3
.ssh/authorized_keys : merupakan file standard yang digunakan SSH untuk memanggil Public Keys.
4. Setelah itu beri hak akses untuk directory .ssh dengan nama file authorized_keys. Perintahnya ada dibawah ya:).
5. Kemudian masuk ke "nano /etc/ssh/sshd_config" kemudian hapus pagar pada "PubkeyAuthentication. Ini digunakan agar user yang tidak memiliki public key yang ada diserver.
PubkeyAuthenctication yes : berfungsi untuk pubkey nya diaktifkan atau diperbolehkan login tanpa menggunakan password.
6. Ganti jadi gini.
PasswordAuthentication no : Fungsinya itu kita bisa login tanpa menggunakan password.
7. Setelah itu restart ssh pada server.
8. Coba lakukan remote ke server-ssh tanpa menggunakan password.
Oke itu aja cara konfigurasi Server SSH, sekian semoga bermanfaat.
Bila saya kurang sopan mohon saya dimaafkan:v. Akhirnya selesai:v