Configuring and Securing SSH Chapter 10
Tags: ramadhanbersamaredhat, redhat, rh124, cloud
Published: 2024-04-02 02:45:02



## What is Open SSH?
OpenSSH mengimplementasikan protokol Secure Shell atau SSH dalam sistem Red Hat Enterprise Linux. Protokol ini memungkinkan sisitem untuk berkomunikasi terenkripsi dan aman melalui jaringan yang tidak aman.

**_Secure Shell Examples_**
Perintah **ssh** berikut ini akan memasukkan Anda ke dalam server jarak jauh remotehost menggunakan nama pengguna yang sama dengan pengguna lokal saat ini. Pada contoh ini, sistem jarak jauh meminta Anda untuk mengautentikasi dengan kata sandi pengguna tersebut.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q033gq11r7j4m6qzcg0x.png)

Anda dapat menggunakan perintah exit untuk keluar dari sistem jarak jauh.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q9cfqm8bbr6tt22ewn7g.png)

Perintah ssh berikutnya akan memasukkan Anda ke dalam server jarak jauh remote host menggunakan nama pengguna user02. Sekali lagi, Anda akan diminta oleh sistem jarak jauh untuk mengautrntikasi dengan kata sandi pengguna tersebut.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0qn8ahmeobz9ph4714tr.png)

Perintah ssh ini akan menjalankan perintah nama-host pada sistem jarak jauh remotehost sebagai pengguna user02 tanpa mengakses shell interaktif jarak jauh.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fopzkv6q6rsvzz7zhezs.png)

Perhatikan bahwa perintah sebelumnya menampilkan output di terminal sistem lokal.

**_Identifying Remote Users_**
Perintah _w_ menampilkan daftar pemngguna yang saat ini masuk ke komputer. Hal ini sangat berguna untuk menunjukkan pengguna mana yayng masuk menggunakan ssh dari lokasi jarak jauh, dan apa yang mereka lakukan.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u81dblzyb467gfuxomks.png)
Outout sebelumnya menunjukkan bahwa pengguna user02 telah masuk ke sistem pada terminal semu 0 pada pukul 16.13 hari ini dari host dengan alamat IP 172.25.250.10, dan telah menganggur pada prompt shell selama tujuh menit tiga puluh detik. Output sebelumnya juga menunjukkan bahwa pengguna user01 telah masuk ke sistem pada terminal semu 1 dan telah menganggur sejaktiga detik terakhir setelah mengeksekusi perintah w.

**_SSH host keys_**
SSh mengamankan komunikasi melalui enlripsi kunci publik. Ketika klien SSH tersambung ke server SSH, server akan mengirimkan salinan kunci publik ke klien masuk. Ini digunakan untuk mengatur enkripsi yang aman untuk saluran komunikasi dan untuk mengautentikasi server ke klien.

Ketika pengguna menggunakan perintah ssh untuk menyambung ke server SSH, perintah ini akan memeriksa apakah ia memiliki salinan kunci publik untuk server tersebut dalam berkas hos lokal yang dikenal. Administrator sistem mungkin telah mengkonfigurasinya di /etc/ssh/ssh_known_hosts, atau pengguna mungkin memiliki berkas ~/.ssh/known_hosts di direktori home yang berisi kunci tersebut.

Jika klien memiliki salinan kunci, ssh akan membandingkan kunci dari berkas known hosts untuk server tersebyt dengan kunci yang diterimanya. Jika kunci tidak cocok, klien mengasumsikan bahwa lalu lintas jaringan ke server mungkin telah dibajak atau server telah disusupi, dan meminta konfirmasi dari pengguna untuk melanjutkan sambungan atau tidak.

**_Note_**
Atur parameter StrictHostKeysChecking ke yes pada berkas ~/.ssh/config khusus pengguna atau /etc/ssh/ssh_config di seluruh sistem untuk membuat perintah ssh selalu membatalkan sambungan SSH jika kunci publik tidak cocok.

Jika klien tidak memiliki salinan kunci publik pada berkas hos yang dikenal, perintah ssh akan menanyakan apakah anda tetap ingin masuk. Jika anda melakukannya, salinan kunci publik akan disimpan dalam berkas ~/.ssh/known_hosts sehingga identitas sever dapat dikonfirmasi secara otomatis di masa mendatang.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w3v63ejj72kgdtcfbbb8.png)

**SSH Known Hosts Key Management**
Jika kunci publik server diubah karena kunci hilang akibat kegagalan hard drive, atau diganti karena alasan yang sah, anda perlu mengedit berkas known hosts untuk memastikan entri untuk kunci publik yang lama diganti dengan entri dengan kunci publik yang baru agar dapat masuk tanpa kesalahan.

Kunci publik disimpan di dalam berkas /etc/ssh/ssh_known_hosts dan berkas ~/.ssh/known_hosts milik setiap pengguna padaklien SSH. Tiap kunci berada pada satu baris. Kolom pertama adalah daftar nama hosts dan alamat IP yang berbagi kunci publik tersebut. Kolom kedua adalah alogaritma enkripsi untuk kunci tersebut. Kolom terakhir adalah kunci itu sendiri.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kypeju1dt76ta5rdv0zl.png)

Setiap server SSH jarak jauh yang dnada sambungkan menyimpan kunci pybliknya di direktori /etc/ssh dalam berka dengan ekstensi .pub.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jg2lf187uh2m874bik3n.png)