Konfigurasi SSH tersuai yang paling biasa dari pelayan OpenSSH

Konfigurasi SSH tersuai yang paling biasa dari pelayan OpenSSH

The OpenSSH Set Utiliti Mari kita buat sambungan yang selamat dan disulitkan antara mesin. Dalam tutorial ini, kita akan melihat beberapa pilihan yang paling berguna yang boleh kita gunakan untuk mengubah tingkah laku SSHD, The OpenSSH daemon untuk menjadikan pekerjaan pentadbiran sistem linux anda lebih mudah.

Dalam artikel ini kita menganggap kewujudan pelayan yang sudah berjalan dan boleh diakses. Sekiranya anda ingin mengetahui lebih lanjut mengenai pemasangan OpenSSH, anda boleh melihat artikel ini mengenai cara memasang SSH Server di Ubuntu Linux.

Dalam tutorial ini anda akan belajar:

  • Cara menyesuaikan tingkah laku daemon SSHD dengan memanipulasi pilihan dalam fail konfigurasi ssh utama /etc/ssh/sshd_config
  • Cara menukar port lalai yang digunakan oleh pelayan
  • Cara menukar alamat pelayan mendengarkan
  • Cara menukar masa log masuk maksimum SSH
  • Cara membenarkan atau menafikan log masuk sebagai akar
  • Cara menukar percubaan log masuk maksimum dan bilangan maksimum sesi dibuka
  • Cara memaparkan mesej apabila pengguna cuba mengesahkan ke pelayan
  • Cara Mengaktifkan/Melumpuhkan Kata Laluan dan Pengesahan Pubkey
  • Cara Mengaktifkan/Melumpuhkan HostbasedAuthentication
  • Membolehkan/melumpuhkan pemajuan x11


Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem Pengedaran-bebas
Perisian Tiada perisian tambahan diperlukan untuk mengikuti tutorial ini selain OpenSSH
Yang lain Pelayan OpenSsh yang sedang berjalan
Konvensyen # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Fail konfigurasi daemon sshd

Secara lalai SSHD, The OpenSSH Daemon, membaca konfigurasinya dari /etc/ssh/sshd_config fail. Laluan fail yang berbeza boleh ditentukan dengan menggunakan -f pilihan semasa melancarkan daemon. Terdapat banyak pilihan yang boleh kita ubah untuk mengubah tingkah laku daemon. Walaupun tidak mungkin menyebut semuanya di sini, kita akan melihat beberapa yang paling biasa digunakan dan apa yang dapat kita peroleh dengan mengubah nilai mereka. Setiap kali pilihan diubah, untuk membuat perubahan berkesan daemon harus dimulakan semula. Apabila menggunakan SystemD, arahan untuk dijalankan adalah:

$ sudo Systemctl Restart SSHD

Menukar port (s) yang digunakan oleh pelayan

Inilah yang disebut a keselamatan melalui kekaburan Ukur: Secara lalai SSHD Daemon mendengar di port 22. Menukar pelabuhan yang digunakan tidak meningkatkan keselamatan, kerana ia adalah remeh untuk membuat imbasan pelabuhan dan melihat pelabuhan apa yang digunakan oleh mesin. Lebih kerap, bagaimanapun, percubaan log masuk kekejaman hanya mensasarkan port lalai, jadi mengubah port yang digunakan dapat membantu. Untuk mengarahkan daemon untuk mendengar port tertentu, kami menggunakan Pelabuhan pilihan dan berikan nombor port:

Pelabuhan 1024


Pelbagai kejadian pilihan dapat disediakan: Pelayan akan mendengar semua port yang ditentukan. Sebelum memulakan semula pelayan SSH untuk membuat perubahan berkesan, sangat penting untuk mengubahsuai peraturan firewall sewajarnya kepada perubahan. Di sisi pelanggan, untuk menyambung menggunakan port tertentu, kami mesti menentukan nombor port dengan menggunakan -p pilihan (pendek untuk -port). Sebagai contoh, untuk log masuk menggunakan port 1024 kami akan menulis:

$ ssh -p 1024 egdoc@feanor

Untuk mengelakkan untuk menentukan port setiap kali kami menyambung ke pelayan, kami dapat menyiapkan entri untuknya di ~/.ssh/config fail (kita mungkin perlu menciptanya, kerana ia tidak wujud secara lalai dan kita mesti membuatnya hanya boleh diakses oleh pengguna), seperti dalam contoh di bawah:

Tuan rumah Feanor Hostname 192.168.0.39 port 1024

Dengan cara ini, setiap kali kita akan berusaha untuk memadankan Tuan rumah (feanor dalam kes ini) Parameter yang ditentukan dalam stanza yang berkaitan dengan fail konfigurasi SSH akan digunakan secara automatik.

Menukar alamat pelayan mendengar

Sebagai tambahan kepada port SSHD Daemon mendengarkan, kita juga boleh menukar dengar alamat. Secara lalai pelayan mendengar semua alamat tempatan. Contoh sintaks untuk digunakan dengan pilihan ini sudah dapat dijumpai dalam fail konfigurasi SSH:

#ListenAddress 0.0.0.0 #listenaddress ::

Kami boleh menentukan alamat dalam salah satu cara berikut:

  • Hos | Alamat IPv4 | Alamat IPv6
  • Hos | Alamat IPv4: Port
  • Hos | Alamat IPv6: Port

Pilihan untuk digunakan dipanggil DengarAddress Pelbagai kejadian pilihan dibenarkan, untuk menentukan pelbagai alamat. Kita boleh guna IPv4 atau IPv6 alamat, dan secara pilihan menentukan port untuk digunakan. Sekiranya kita tidak menentukan port SSHD Daemon akan mendengar di pelabuhan yang ditentukan dengan Pelabuhan pilihan yang kita lihat di atas.

Menukar masa log masuk maksimum

Kita boleh mengkonfigurasi OpenSSH Daemon untuk putus sambungan selepas masa yang ditentukan jika pengguna tidak berjaya log masuk. Dalam kes ini, pilihan yang ingin kita ubah dipanggil LogingRacetime. Apa yang perlu kita lakukan ialah memberikan nilai had masa, sebagai contoh:

LogingRaceTime 2m

Nilai lalai untuk pilihan ini adalah 120 -an (saat)

Benarkan atau tolak log masuk sebagai akar

Dengan menggunakan PermitRootlogin pilihan kita boleh menentukan jika SSHD Daemon harus membenarkan pengguna root log masuk secara langsung. Pilihan menerima salah satu daripada nilai ini:

  • Ya
  • tidak
  • melarang kata laluan
  • Komando-Komando sahaja

Dua nilai pertama cukup jelas. Semasa menggunakan Ya Pengguna root dibenarkan masuk melalui SSH, semasa menggunakan tidak kemungkinan ini ditolak. The melarang kata laluan dan Komando-Komando sahaja Nilai lebih menarik.

Apabila bekas
digunakan sebagai nilai dari PermitRootlogin pilihan, kata laluan dan papan kekunci log masuk interaktif dilumpuhkan, tetapi pengguna root boleh log masuk menggunakan a Kunci awam. Jika Komando-Komando sahaja digunakan, sebaliknya, log masuk root melalui pengesahan kunci awam dibenarkan tetapi hanya jika a perintah pilihan ditentukan dalam kunci yang dibenarkan. Sebagai contoh:

perintah = "ls -a" ssh -rsa [...]


Di atas kami menentukan ls -a Sebagai arahan untuk kunci SSH yang akan digunakan oleh root. Dengan cara ini apabila menyambung menggunakan kunci, arahan akan dilaksanakan, dan kemudian sambungan ke pelayan akan ditutup. Mari sahkannya (di sini saya menganggap kunci sudah ada pada pelanggan dan telah diberi kuasa di pelayan):

$ ssh root@feanor masukkan frasa laluan untuk kunci '/rumah/egdoc/.ssh/id_rsa ': ... bash_history .Bashrc .profil .SSH .vim .Sambungan Viminfo ke Feanor ditutup.

Menukar percubaan log masuk maksimum dan bilangan maksimum sesi dibuka

Dua lagi parameter yang mungkin ingin kita ubah ialah bilangan log masuk percubaan setiap sambungan, dan bilangan sesi yang dibuka, log masuk atau subsistem yang dibenarkan. Kita boleh menukar parameter bekas dengan menggunakan MaxAuthtries pilihan, memberikan bilangan percubaan yang dibenarkan (nilai lalai adalah 6). Yang terakhir, sebaliknya, boleh diubah suai dengan menggunakan Maxsessions pilihan. Pilihan ini juga mengambil nilai integer, lalai 10.

Paparkan mesej apabila pengguna cuba mengesahkan ke pelayan

Kita boleh menggunakan Banner pilihan untuk menentukan fail yang mengandungi beberapa teks yang ingin kami hantar kepada pengguna sebelum dia mengesahkan ke pelayan. Nilai lalai untuk pilihannya adalah Tiada, jadi tiada sepanduk dipaparkan. Inilah contohnya. Fail/etc/ssh/spanduk yang kami buat mengandungi beberapa teks yang kami gunakan sebagai mesej. Jika kita menetapkan pilihan seperti di bawah:

Banner/etc/SSH/Banner.txt

Apabila kita cuba log masuk, kami mendapat hasil berikut:

$ ssh egdoc@feanor ############################uji buaian###################################################################################################################araan pendapat ################araan ################### egdoc@kata laluan feanor: 

Membolehkan/melumpuhkan kata laluan dan pengesahan pubkey.

The SSHD Daemon menyediakan pelbagai cara untuk mengesahkan pengguna. Kita boleh memilih untuk mengaktifkan atau melumpuhkan pengesahan dengan kata laluan atau oleh kunci awam menggunakan masing -masing Kata laluan dan PubkeyAuthentication pilihan. Secara lalai kedua -dua pilihan biasanya ditetapkan ke Ya: Ini bermaksud pengguna boleh menyambung ke pelayan dengan memberikan kata laluannya dan juga dengan menggunakan kunci awam yang dimilikinya (kunci juga boleh dilindungi oleh kata laluan). Untuk melumpuhkan salah satu daripada dua pilihan yang kami gunakan tidak sebagai nilai. Sebagai contoh, jika hanya mahu membenarkan log masuk oleh kunci awam, kami boleh menetapkan:

Kata laluanAuthentication no

Cara ini hanya pengguna yang mempunyai Kunci awam yang terkandung dalam fail kekunci yang diberi kuasa akan dapat log masuk ke pelayan. Fail Kekunci yang Dibenarkan adalah fail yang mengandungi kunci awam yang dibenarkan. Secara lalai failnya .SSH/Authorized_keys di direktori rumah pengguna di pelayan, tetapi ini boleh diubah menggunakan AutorizedKeysfile pilihan dan menentukan fail alternatif, menyediakan sama ada mutlak atau a relatif jalan. Apabila jalan relatif digunakan, ia dianggap sebagai relatif kepada direktori rumah pengguna. Pilihan juga boleh ditetapkan ke Tiada: Dengan cara ini pelayan tidak akan mencari kunci awam dalam fail.

Membolehkan/melumpuhkan hostbasedAuthentication

Pelayan OpenSSH boleh ditetapkan untuk diterima berasaskan tuan rumah pengesahan. Semasa menggunakan jenis pengesahan ini, tuan rumah mengesahkan bagi pihak semua atau beberapa penggunanya. Pilihan ditetapkan ke tidak Secara lalai. Menetapkan pilihan untuk Ya tidak mencukupi untuk membuat kerja pengesahan berasaskan tuan rumah.

Membolehkan/melumpuhkan pemajuan x11

The X11 Sistem tetingkap mempunyai seni bina pelanggan-pelayan: Pelanggan adalah banyak aplikasi grafik yang meminta sambungan ke pelayan yang menguruskan paparan. Pelayan x11 dan pelanggannya sering berjalan pada mesin yang sama, tetapi ini tidak perlu. Ada kemungkinan untuk mengakses pelayan X11 jauh melalui protokol yang berdedikasi tetapi tidak selamat. OpenSSH Marilah kita menjalankan sambungan dengan selamat, mencipta terowong yang disulitkan. Pilihan yang mengawal tingkah laku ini adalah X11forwarding. Ciri ini biasanya dilumpuhkan secara lalai, jadi ia ditetapkan untuk tidak.

Kita mesti menetapkan pilihan untuk Ya Sekiranya kita mahu memanfaatkannya. Di sisi pelanggan, kami membolehkan ciri ini dengan menggunakan -X pilihan dari baris arahan, atau set ForwardX11 ke Ya dalam fail konfigurasi pelanggan. Sebagai contoh, katakan kami mempunyai X11 yang berjalan pada mesin jauh; Kami mahu menggunakan sambungan SSH untuk melancarkan aplikasi "Pluma" (editor teks ringan) dan mengawalnya menggunakan x11forwarding. Kami berlari:

$ ssh egdoc@feanor -x pluma


Program ini akan dilancarkan. Di bar tajuk, jelas kita dapat melihat bahawa ia berjalan pada "Feanor", yang merupakan nama mesin terpencil.



X11 penghantaran dalam tindakan

Kesimpulan

Dalam tutorial ini kita melihat apakah lalai SSHD fail konfigurasi daemon dan kami belajar bagaimana kami dapat menggunakan alternatif dengan menentukan jalannya dengan -f pilihan semasa memulakan perkhidmatan. Kami juga melihat beberapa pilihan yang paling berguna yang boleh kami gunakan dalam fail tersebut untuk mengubah tingkah laku SSHD. Kami melihat bagaimana untuk membenarkan atau menafikan pengesahan berasaskan kata laluan dan awam; bagaimana untuk mengaktifkan atau menafikan log masuk root; cara mengaktifkan atau melumpuhkan ciri pemajuan x11 dan bagaimana membuat pelayan memaparkan mesej apabila pengguna cuba mengesahkannya.

Kami juga melihat bagaimana untuk menentukan percubaan log masuk maksimum yang dibenarkan setiap sambungan dan bagaimana menukar alamat dan pelabuhan pelayan mendengarkan. Untuk mengetahui lebih lanjut mengenai konfigurasi pelayan yang mungkin, sila rujuk halaman manual untuk SSHD dan untuk fail konfigurasi SSHD_CONFIG.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Cara memanfaatkan sepenuhnya OpenSSH
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Linux: Persediaan SSH
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Perkara yang perlu dipasang di Ubuntu 22.04
  • Cara Memantau Aktiviti Rangkaian pada Sistem Linux
  • Pasang Arch Linux di Workstation VMware
  • Muat turun linux