Penjelasan OpenSSH Server dan Cara Konfigurasinya

SSH (Secure Shell) adalah protokol yang memfasilitasi komunikasi aman antara dua sistem menggunakan arsitektur client-server dan memungkinkan pengguna untuk masuk ke sistem host server dari jarak jauh, SSH jauh lebih aman dari protokol komunikasi jarak jauh lainnya, seperti FTP atau Telnet, SSH mengenkripsi sesi login, membuat koneksi sulit bagi penyusup untuk mengumpulkan kata sandi yang tidak terenkripsi.

Red Hat Enterprise Linux menyertakan paket OpenSSH, Baik itu Server, openssh-server. Dan Client, openssh-client, Catatan, paket OpenSSH memerlukan paket OpenSSL, openssl-libs yang mana menginstall beberapa pustaka kriptografi penting, memungkinkan OpenSSH menyediakan komunikasi terenkripsi. 

1. Protokol SSH

- Mengapa menggunakan SSH?

Penyusup potensial memiliki berbagai alat yang mereka miliki yang memungkinkan mereka untuk mengganggu, mencegat, dan merutekan ulang lalu lintas jaringan dalam upaya untuk mendapatkan akses ke sistem.

- Fitur Utama

Protokol SSH menyediakan pengamanan berikut:

A. Tidak ada yang bisa menyamar sebagai server yang dituju. 
    Setelah koneksi awal, klien dapat memverifikasi bahwa itu terhubung ke server yang sama yang telah     terhubung sebelumnya.
B. Tidak ada yang bisa menangkap informasi otentikasi.
    Klien mengirimkan informasi otentikasi ke server menggunakan enkripsi 128-bit yang kuat.
C. Tidak ada yang bisa menghalangi komunikasi.
   Semua data yang dikirim dan diterima selama sesi ditransfer menggunakan enkripsi 128-bit, membuat    transmisi yang dicegat sangat sulit untuk didekripsi dan dibaca.

- Versi Protokol

Dua jenis SSH saat ini ada: versi 1, dan versi yang lebih baru 2. Paket OpenSSH di bawah Red Hat Enterprise Linux 7 menggunakan SSH versi 2, yang memiliki algoritma pertukaran kunci yang ditingkatkan yang tidak rentan terhadap eksploitasi yang diketahui di versi 1. Di Red Hat Enterprise Linux 7, suite OpenSSH tidak mendukung koneksi versi 1.

- Cara Kerja Koneksi SSH

Rangkaian kerja berikut membantu melindungi integritas komunikasi SSH antara dua host.

A. Kriptografi Handsake dibuat sehingga klien dapat memverifikasi bahwa itu berkomunikasi dengan         server yang benar.
B. Lapisan transport dari koneksi antara klien dan host jarak jauh dienkripsi menggunakan sandi                 simetris.
C. Klien mengotentikasi dirinya sendiri ke server.
D. Klien berinteraksi dengan host jarak jauh melalui koneksi terenkripsi.

2. Mengonfigurasi OpenSSH

- Konfigurasi File

    Ada dua set file konfigurasi yang berbeda: file untuk program klien (yaitu, ssh, scp, dan sftp), dan file     untuk server (daemon sshd).

- Mulai OpenSSH Server

    - Untuk menjalankan server OpenSSH, Anda harus menginstal paket openssh-server.
    ketik "yum install openssh-server".

    - Untuk memulai daemon sshd di sesi saat ini, ketikkan yang berikut ini pada prompt shell sebagai        root:
    ~]# systemctl start sshd.service
    
    - Untuk menghentikan daemon sshd yang berjalan di sesi saat ini, gunakan perintah berikut sebagai        root:
    ~]# systemctl stop sshd.service
    
    Jika Anda ingin daemon dijalankan secara otomatis saat boot, ketik sebagai root:
    ~]# systemctl enable sshd.service

3. Memerlukan SSH untuk Koneksi Jarak Jauh

   Untuk lebih meningkatkan keamanan sistem, buat pasangan kunci SSH dan kemudian terapkan           otentikasi berbasis kunci dengan menonaktifkan otentikasi kata sandi.

- Menggunakan Key-Based Authentication

Ikuti langkah-langkah berikut untuk mengonfigurasi server OpenSSH Anda untuk menerapkan autentikasi berbasis kunci.

Prasyarat

  •      Paket openssh-server diinstal.
  •      Daemon sshd sedang berjalan di server.

Prosedur

1. Buka file /etc/ssh/sshd_config dengan menggunakan text editor.
# nano /etc/ssh/sshd_config/
2. Ubah PasswordAuthentication option menjadi no.
PasswordAuthentication no
Pada sistem selain penginstalan default baru, periksa apakah nomor PubkeyAuthentication no belum disetel dan perintah ChallengeResponseAuthentication disetel ke no. Jika Anda terhubung dari jarak jauh, tidak menggunakan konsol atau akses out-of-band, uji proses login berbasis kunci sebelum menonaktifkan otentikasi kata sandi.      

3. Untuk menggunakan otentikasi berbasis kunci dengan direktori home yang dipasang di NFS, aktifkan use_nfs_home_dirs SELinux boolean:

# setsebool -P use_nfs_home_dirs 1

4. Muat ulang daemon sshd untuk menerapkan perubahan:

# systemctl reload sshd

- Generating SSH key pairs

Gunakan prosedur ini untuk membuat pasangan kunci SSH di sistem lokal dan menyalin kunci publik yang dibuat ke server OpenSSH. Jika server dikonfigurasi dengan benar, Anda dapat masuk ke server OpenSSH tanpa memberikan kata sandi apa pun.

Prosedur

1. Untuk membuat pasangan kunci ECDSA untuk versi 2 dari protokol SSH:

$ ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/joesec/.ssh/id_ecdsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/joesec/.ssh/id_ecdsa.
Your public key has been saved in /home/joesec/.ssh/id_ecdsa.pub.
The key fingerprint is:
SHA256:Q/x+qms4j7PCQ0qFd09iZEFHA+SqwBKRNaU72oZfaCI joesec@localhost.example.com
The key's randomart image is:
+---[ECDSA 256]---+
|.oo..o=++        |
|.. o .oo .       |
|. .. o. o        |
|....o.+...       |
|o.oo.o +S .      |
|.=.+.   .o       |
|E.*+.  .  . .    |
|.=..+ +..  o     |
|  .  oo*+o.      | 
+----[SHA256]-----+
Anda juga dapat membuat pasangan kunci RSA dengan menggunakan opsi -t rsa dengan perintah ssh-keygen atau pasangan kunci ed25519 dengan memasukkan perintah ssh-keygen -t ed25519

2. Untuk menyalin kunci publik ke mesin jarak jauh:
$ ssh-copy-id joesec@ssh-server-example.com
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
joesec@ssh-server-example.com's password:
...
Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'joesec@ssh-server-example.com'" and check to make sure that only the key(s) you wanted were added.

Jika Anda tidak menggunakan program ssh-agent dalam sesi Anda, perintah sebelumnya menyalin kunci publik ~/.ssh/id*.pub yang terakhir diubah jika belum diinstal. Untuk menentukan file kunci publik lain atau untuk memprioritaskan kunci dalam file di atas kunci yang di-cache dalam memori oleh ssh-agent, gunakan perintah ssh-copy-id dengan opsi -i.

Langkah-langkah verifikasi

1. Masuk ke server OpenSSH tanpa memberikan kata sandi apa pun:

$ ssh joesec@ssh-server-example.com
Welcome message.
...
Last login: Mon Nov 18 18:28:42 2019 from ::1

Sekian dari saya, Terimakasih

Selamat mencoba 😀

Related Posts

Post a Comment

Subscribe Our Newsletter