Panduan Lengkap File Sshd_Config untuk Linux

Panduan Lengkap File Sshd Config Untuk Linux



Protokol SSH atau Secure Shell digunakan untuk masuk ke mesin dari jarak jauh dan menjalankan perintah pada mesin jarak jauh. Data yang ditransfer menggunakan protokol SSH dienkripsi dengan algoritme khusus yang membuat SSH lebih aman daripada Telnet. Pada dasarnya, OpenSSH adalah alat yang mengimplementasikan protokol ini.

Apa yang Akan Kami Bahas?

Dalam panduan ini, kita akan menjelajahi berbagai aspek file konfigurasi server OpenSSH. Mari kita mulai sekarang.







File Konfigurasi OpenSSH

Ada beberapa file inti untuk klien dan server OpenSSH. Ini memiliki dua jenis file konfigurasi:



1. File yang terkait dengan sisi klien: Salah satu file tersebut adalah ssh_config. Ini adalah file konfigurasi seluruh sistem. File ini terletak di /etc/ssh/ssh_config.



File lainnya adalah config yang merupakan file konfigurasi khusus pengguna yang terletak di $HOME/.ssh/config.





Program SSH pada host mengambil konfigurasi dari file-file ini atau melalui antarmuka baris perintah. Dalam kasus file yang disebutkan sebelumnya, file konfigurasi seluruh sistem, yaitu ssh_config, diberikan prioritas di atas file 'config' khusus pengguna.

2. sshd_config: Ini terkait dengan sisi server. Server OpenSSH membaca file ini saat dimulai.



Menjelajahi sshd Berkas Konfigurasi

File konfigurasi sshd berisi banyak arahan yang juga dapat disesuaikan. Mari kita lihat tata letak default dari file ini:

$ kucing / dll. / ssh / sshd_config


# Ini adalah file konfigurasi seluruh sistem server sshd. Melihat

# sshd_config(5) untuk informasi lebih lanjut.

Pelabuhan 222
ListenAddress 0.0.0.0
DengarkanAlamat ::
HostKey / dll. / ssh / ssh_host_key
ServerKeyBits 768
MasukGraceTime 600

KeyRegenerationInterval 3600
IzinRootLogin Ya
IgnoreRhosts Ya
StrictModes Ya
X11Nomor penerusan

AllowTcpForwarding no
izinkan TTY no
X11DisplayOffset 10
PrintMotd Ya
Berusaha agar hidup Ya
SyslogFacility AUTH

INFO Tingkat Log
RhostsAutentikasi no
RhostsRSAAotentikasi no
RSAAuthentication Ya
Otentikasi Kata Sandi Ya
AllowEmptyPasswords no
CheckMail no


Setiap baris yang dimulai dengan '#' diambil sebagai komentar. Mari jelajahi beberapa parameter yang diberikan:

1. Arahan Port menentukan nomor port. Ini adalah nomor port tempat sshd mendengarkan koneksi. Nilai default untuk port ini adalah 22 yang merupakan nilai standar. Namun, dalam kasus kami, kami mengubahnya menjadi 222.

Juga, kita dapat menentukan lebih dari satu arahan Port. Dengan cara ini, kita dapat menggunakan banyak port untuk mendengarkan koneksi sshd.

2. ListenAddress berisi alamat IP untuk mendengarkan. Tindakan default adalah mendengarkan semua alamat IP yang terikat ke server. Perhatikan juga bahwa direktif Port harus menggantikan direktif ListenAddress.

3. Jalur yang sepenuhnya memenuhi syarat dari file kunci host RSA pribadi ditentukan oleh direktif HostKey. Dalam kasus sebelumnya, jalurnya adalah /etc/ssh/ssh_host_key .

4. Direktif PermitRootLogin mengizinkan login root untuk sshd jika disetel ke ya. Ini harus disetel ke no kecuali file hosts.allow dan hosts.deny digunakan untuk membatasi akses sshd.

5. Arahan X11Forwarding mengizinkan penerusan Sistem X Window jika diatur ke ya.

6. Fasilitas Syslog yang mana sshd harus digunakan ditentukan menggunakan direktif SyslogFacility. Pertahankan nilai default apa adanya.

7. Level logging untuk Syslog ditentukan menggunakan direktif LogLevel.

Mengubah sshd Pelabuhan

Secara default, sshd atau daemon server OpenSSH menggunakan port 22 dari protokol TCP. Direkomendasikan untuk mengubah nomor port ini ke beberapa nilai lain dalam lingkungan pengujian. Ini meyakinkan kami bahwa konektivitas server tersedia sepanjang waktu.

Selain itu, merupakan praktik yang baik untuk memeriksa sintaks konfigurasi file sshd_config baru sebelum menggunakannya, terlepas dari port yang dijalankannya. Untuk memeriksa sintaks, kita dapat menggunakan perintah berikut:

$ sshd -t


Penting juga untuk dicatat bahwa hanya pengguna root yang dapat membaca dan menulis ke file ini. Ini berarti bahwa jika file konfigurasi sshd_config diamankan dengan benar, menjalankan perintah sebelumnya memerlukan otoritas root.

Jika tidak ada output yang muncul saat menjalankan perintah verifikasi sintaks sebelumnya, berarti file tersebut baik-baik saja.

Memodifikasi File dan Port Konfigurasi Default

Dalam beberapa kasus, kami ingin menjalankan instance baru sshd di pelabuhan yang berbeda. Ini mungkin karena port 22 sudah digunakan atau mungkin ada beberapa area risiko dalam mengubah port ini di lingkungan produksi. Dalam situasi seperti itu, kami dapat membuat file konfigurasi alternatif untuk server kami.

Mari buat file sshd_config baru sebagai sshd_config_new. File ini dapat digunakan untuk beberapa parameter server yang berbeda. Sekarang, mari tentukan file ini untuk dianggap sebagai file konfigurasi server baru pada nomor port 100:

$ sudo / usr / sbin / sshd -f / dll. / ssh / sshd_config_new -p 100


Daemon sshd sekarang mendengarkan pada port 100. Kita dapat menggunakan nilai port apa pun tetapi bukan yang sudah digunakan.

Sekarang, mari kita periksa apakah port baru kita berfungsi seperti yang diinginkan. Untuk ini, kita harus menggunakan program klien ssh dan menjalankan perintah berikut:

$ / usr / tempat sampah / ssh -p 100 < aku p dari server >



Opsi '-p' menentukan port 100 yang akan digunakan di server jarak jauh. Jika kami menguji secara lokal, kami dapat menggunakan IP server untuk menjadi IP localhost:

$ / usr / tempat sampah / ssh -p 100 127.0.0.1

Pemecahan Masalah Konfigurasi OpenSSH

Terkadang, server kami tidak berfungsi seperti yang diinginkan. Dalam kasus seperti itu, kita dapat menggunakan flag '-d' untuk memecahkan masalah konfigurasi server OpenSSH. Menggunakan flag “-d”, server memasuki mode debug dan hanya menangani satu koneksi.

Output yang dihasilkan dalam mode debug adalah verbose. Kita dapat menggunakan lebih banyak flag “-d” untuk menaikkan level debugging. Mari jalankan perintah debug di server kami menggunakan file konfigurasi baru:

$ / usr / sbin / sshd -d -p 100 -f / dll. / ssh / sshd_config_new


Output dari perintah sebelumnya masuk ke stderr alih-alih menggunakan fasilitas AUTH dari syslogd.

Kesimpulan

Daemon OpenSSH atau sshd adalah bagian penting dari banyak infrastruktur administrasi. Oleh karena itu, diperlukan keahlian untuk mengelolanya agar dapat beroperasi secara optimal. Pada artikel ini, kita belajar tentang file konfigurasi server OpenSSH seperti sshd_config.