Konfigurasi SSH kustom yang paling umum dari server OpenSsh
- 2788
- 81
- Daryl Hermiston DVM
Itu Openssh
set utilitas mari kita membuat koneksi yang aman dan terenkripsi antar mesin. Dalam tutorial ini kita akan melihat beberapa opsi paling berguna yang dapat kita gunakan untuk mengubah perilaku sshd
, itu Openssh
Daemon untuk membuat pekerjaan Administrasi Sistem Linux Anda lebih mudah.
Dalam artikel ini kami menganggap keberadaan server yang sudah berjalan dan dapat diakses. Jika Anda ingin tahu lebih banyak tentang instalasi OpenSsh, Anda dapat melihat artikel ini tentang cara menginstal server ssh di ubuntu linux.
Dalam tutorial ini Anda akan belajar:
- Cara menyesuaikan perilaku daemon sshd dengan memanipulasi opsi di file konfigurasi ssh utama
/etc/ssh/sshd_config
- Cara mengubah port default yang digunakan oleh server
- Cara mengubah alamat yang didengarkan server
- Cara mengubah waktu login ssh maksimum
- Bagaimana mengizinkan atau menolak login sebagai root
- Cara mengubah upaya login maksimal dan jumlah sesi maksimum dibuka
- Cara menampilkan pesan saat pengguna mencoba mengotentikasi ke server
- Cara mengaktifkan/menonaktifkan otentikasi kata sandi dan pubkey
- Cara mengaktifkan/menonaktifkan hostbasedAuthentication
- Mengaktifkan/Menonaktifkan Penerusan X11
Persyaratan dan konvensi perangkat lunak yang digunakan
Kategori | Persyaratan, konvensi atau versi perangkat lunak yang digunakan |
---|---|
Sistem | Distribusi-independen |
Perangkat lunak | Tidak ada perangkat lunak tambahan yang diperlukan untuk mengikuti tutorial ini selain dari OpenSsh |
Lainnya | Server OpenSsh yang berjalan |
Konvensi | # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa |
File konfigurasi daemon sshd
Secara default sshd
, itu Openssh
daemon, membaca konfigurasinya dari /etc/ssh/sshd_config
mengajukan. Jalur file yang berbeda dapat ditentukan dengan menggunakan -F
opsi saat meluncurkan daemon. Ada banyak pilihan yang dapat kita ubah untuk mengubah perilaku daemon. Meskipun tidak mungkin untuk menyebutkan semuanya di sini, kita akan melihat beberapa yang paling umum digunakan dan apa yang bisa kita peroleh dengan mengubah nilai -nilai mereka. Setiap kali opsi diubah, untuk membuat perubahan efektif, daemon harus dimulai kembali. Saat menggunakan SystemD, perintah yang akan dijalankan adalah:
$ sudo systemctl restart sshd
Mengubah port yang digunakan oleh server
Inilah yang disebut a keamanan melalui ketidakjelasan
Ukur: secara default sshd
Daemon mendengarkan di port 22
. Mengubah port yang digunakan tidak meningkatkan keamanan per se, karena sepele untuk melakukan pemindaian port dan melihat port apa yang digunakan oleh mesin. Namun, lebih dari itu, upaya login brute force hanya menargetkan port default, sehingga memodifikasi port yang digunakan dapat membantu. Untuk menginstruksikan daemon untuk mendengarkan port tertentu, kami menggunakan Pelabuhan
opsi dan berikan nomor port:
Port 1024
Berbagai kejadian opsi dapat disediakan: server akan mendengarkan semua port yang ditentukan. Sebelum memulai kembali server SSH untuk membuat perubahan efektif, sangat penting untuk memodifikasi aturan firewall sesuai dengan perubahan tersebut. Di sisi klien, untuk terhubung menggunakan port tertentu, kita harus menentukan nomor port dengan menggunakan -P
opsi (pendek untuk -port). Misalnya, untuk masuk menggunakan port 1024 kami akan menulis:
$ ssh -p 1024 egdoc@feanor
Untuk menghindari keharusan menentukan port setiap kali kami terhubung ke server, kami dapat mengatur entri untuk itu di ~/.ssh/config
file (kita mungkin harus membuatnya, karena tidak ada secara default dan kita harus membuatnya hanya dapat diakses oleh pengguna), seperti pada contoh di bawah ini:
Host Feanor Hostname 192.168.0.39 Port 1024
Dengan cara ini, setiap kali kita akan mencoba untuk mencocokkan Tuan rumah
(Feanor dalam kasus ini) Parameter yang ditentukan dalam bait terkait file konfigurasi SSH akan diterapkan secara otomatis.
Mengubah alamat yang didengarkan server
Selain port sshd
Daemon mendengarkan, kami juga dapat mengubah Dengarkan alamat
. Secara default server mendengarkan semua alamat lokal. Contoh sintaks untuk digunakan dengan opsi ini sudah dapat ditemukan di file konfigurasi SSH:
#Listenaddress 0.0.0.0 #listenaddress ::
Kami dapat menentukan alamat dengan salah satu cara berikut:
- Host | Alamat IPv4 | Alamat IPv6
- Host | Alamat IPv4: Port
- Host | Alamat IPv6: Port
Opsi untuk digunakan dipanggil Listenaddress
Berbagai kejadian opsi diizinkan, untuk menentukan beberapa alamat. Kita bisa gunakan IPv4
atau IPv6
alamat, dan secara opsional menentukan port yang akan digunakan. Jika kami tidak menentukan port sshd
daemon akan mendengarkan di port yang ditentukan dengan Pelabuhan
Opsi yang kami lihat di atas.
Mengubah waktu login maksimum
Kami dapat mengkonfigurasi Openssh
daemon untuk memutuskan hubungan setelah jumlah waktu tertentu jika pengguna tidak berhasil masuk. Dalam hal ini opsi yang ingin kami ubah dipanggil LOGINGRACETIME
. Yang harus kita lakukan adalah memberikan nilai batas waktu, misalnya:
LOGINGRACETIME 2M
Nilai default untuk opsi ini adalah 120 -an
(detik)
Izinkan atau tolak login sebagai root
Dengan menggunakan Leverrootlogin
opsi yang dapat kami buat jika sshd
Daemon harus memungkinkan pengguna root untuk masuk secara langsung. Opsi menerima salah satu nilai ini:
- Ya
- TIDAK
- Larangan-password
- hanya-perintah-paksa
Dua nilai pertama cukup jelas. Ketika menggunakan Ya
Pengguna root diizinkan untuk masuk melalui SSH, saat menggunakan TIDAK
Kemungkinan ini ditolak. Itu Larangan-password
Dan hanya-perintah-paksa
Nilai lebih menarik.
Saat yang pertama
digunakan sebagai nilai dari Leverrootlogin
Opsi, kata sandi dan login interaktif keyboard dinonaktifkan, tetapi pengguna root dapat login menggunakan a kunci publik
. Jika hanya-perintah-paksa
digunakan, sebagai gantinya, login root melalui otentikasi kunci publik diizinkan tetapi hanya jika a memerintah
Opsi ditentukan dalam kunci resmi. Misalnya:
command = "ls -a" ssh -rsa […]
Di atas kami menentukan ls -a
sebagai perintah untuk kunci ssh yang akan digunakan oleh root. Dengan cara ini saat menghubungkan menggunakan tombol, perintah akan dieksekusi, dan kemudian koneksi ke server akan ditutup. Mari kita verifikasi (di sini saya berasumsi bahwa kunci sudah ada pada klien dan telah diizinkan di server):
$ ssh root@feanor masukkan sandi untuk kunci '/home/egdoc/.ssh/id_rsa ':… Bash_history .Bashrc .Profil .ssh .vim .Koneksi viminfo ke feanor tertutup.
Mengubah upaya login maks dan jumlah sesi maksimum yang dibuka
Dua parameter lain yang mungkin ingin kami ubah adalah jumlah login yang dicoba per koneksi, dan jumlah shell yang dibuka, login atau sesi subsistem yang diizinkan. Kita dapat mengubah parameter sebelumnya dengan menggunakan MaxAuthtries
opsi, memberikan jumlah upaya yang diizinkan (nilai default adalah 6
). Yang terakhir, sebaliknya, dapat dimodifikasi dengan menggunakan MaxSessions
pilihan. Opsi ini juga membutuhkan nilai integer, makhluk default 10
.
Tampilkan pesan saat pengguna mencoba mengotentikasi ke server
Kita bisa menggunakan Spanduk
opsi untuk menentukan file yang berisi beberapa teks yang ingin kami kirim ke pengguna sebelum ia mengotentikasi ke server. Nilai default untuk opsi adalah tidak ada
, Jadi tidak ada spanduk yang ditampilkan. Inilah contohnya. File/etc/ssh/spanduk yang kami buat berisi beberapa teks yang kami gunakan sebagai pesan. Jika kami mengatur opsi seperti di bawah ini:
Banner/etc/ssh/spanduk.txt
Ketika kami mencoba masuk, kami mendapatkan hasil berikut:
$ ssh egdoc@feanor ###############################uji spanduk############### #################### egdoc@feanor's password:
Mengaktifkan/Menonaktifkan Kata Sandi dan Otentikasi Pubkey.
Itu sshd
Daemon menyediakan beberapa cara untuk mengotentikasi pengguna. Kami dapat memilih untuk mengaktifkan atau menonaktifkan otentikasi dengan kata sandi atau dengan kunci publik menggunakan masing -masing PasswordAuthentication
Dan PubKeyAuthentication
pilihan. Secara default kedua opsi biasanya disetel ke Ya
: Ini berarti bahwa pengguna dapat terhubung ke server dengan memberikan kata sandi dan juga dengan menggunakan kunci publik yang ia miliki (kunci juga dapat dilindungi dengan kata sandi). Untuk menonaktifkan salah satu dari dua opsi yang cukup kami gunakan TIDAK
sebagai nilai. Misalnya, jika hanya ingin mengizinkan login dengan kunci publik, kami dapat mengatur:
Kata sandi no
Dengan cara ini hanya pengguna yang memiliki kunci publik
terdapat dalam file tombol resmi akan dapat masuk ke server. File Kunci Resmi adalah file yang berisi kunci publik yang diizinkan. Secara default file tersebut .ssh/otorisasi_keys
Di direktori rumah pengguna di server, tetapi ini dapat diubah menggunakan OtorisasiKeysfile
opsi dan menentukan file alternatif, memberikan salah satu mutlak
atau a relatif
jalur. Ketika jalur relatif digunakan, itu dianggap relatif terhadap direktori home pengguna. Opsi ini juga dapat diatur ke tidak ada
: Dengan cara ini server tidak akan mencari kunci publik di file.
Mengaktifkan/menonaktifkan hostbasedAuthentication
Server openssh dapat diatur untuk menerima berbasis host
autentikasi. Saat menggunakan jenis otentikasi ini, host mengotentikasi atas nama semua atau beberapa penggunanya. Opsi diatur ke TIDAK
secara default. Mengatur opsi untuk Ya
tidak cukup untuk membuat otentikasi berbasis host bekerja.
Mengaktifkan/Menonaktifkan Penerusan X11
Itu X11
Sistem jendela memiliki arsitektur klien-server: Klien adalah banyak aplikasi grafis yang meminta koneksi ke server yang mengelola ditampilkan. Server X11 dan kliennya sering berjalan pada mesin yang sama, tetapi ini tidak perlu. Dimungkinkan untuk mengakses server X11 jarak jauh melalui protokol yang berdedikasi tetapi tidak aman. Openssh
Mari kita jalankan koneksi dengan aman, membuat terowongan terenkripsi. Opsi yang mengontrol perilaku ini adalah X11 forwarding
. Fitur ini umumnya dinonaktifkan secara default, sehingga diatur ke TIDAK
.
Kita harus mengatur opsi untuk Ya
Jika kita ingin memanfaatkannya. Di sisi klien, kami mengaktifkan fitur dengan menggunakan -X
opsi dari baris perintah, atau setel Forwardx11
ke Ya
di file konfigurasi klien. Misalnya, katakanlah kami memiliki X11 yang berjalan di mesin jarak jauh; Kami ingin menggunakan koneksi SSH untuk meluncurkan aplikasi "Pluma" (editor teks ringan) dan mengendalikannya menggunakan x11forwarding. Kita lari:
$ ssh egdoc@feanor -x pluma
Program ini akan diluncurkan. Di bilah judul, jelas kita dapat melihat bahwa itu berjalan di "Feanor", yang merupakan nama mesin jarak jauh.
X11 Forwarding sedang beraksi
Kesimpulan
Dalam tutorial ini kami melihat apa defaultnya sshd
file konfigurasi daemon dan kami belajar bagaimana kami dapat menggunakan yang alternatif dengan menentukan jalurnya dengan -F
opsi saat memulai layanan. Kami juga melihat beberapa opsi paling berguna yang dapat kami gunakan dalam file tersebut untuk mengubah perilaku SSHD. Kami melihat cara mengizinkan atau menolak otentikasi berbasis kata sandi dan kunci publik; cara mengaktifkan atau menyangkal login root; cara mengaktifkan atau menonaktifkan fitur penerusan X11 dan cara membuat server menampilkan pesan ketika pengguna mencoba mengotentikasi di atasnya.
Kami juga melihat cara menentukan upaya login maksimum yang diizinkan per koneksi dan cara mengubah alamat dan port yang didengarkan server. Untuk mengetahui lebih lanjut tentang kemungkinan konfigurasi server, silakan berkonsultasi dengan halaman manual untuk SSHD dan untuk file konfigurasi sshd_config.
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Bagaimana memanfaatkan openssh
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Linux: Setup SSH
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
- Hal -hal yang harus diinstal pada Ubuntu 22.04
- Cara memantau aktivitas jaringan pada sistem Linux
- Instal Arch Linux di VMware Workstation
- Unduh Linux
- « Tidak bisa mendapatkan kunci var lib dpkg lock - ubuntu/debian
- Instal dan Konfigurasikan MySQL Workbench di Ubuntu Linux »