OpenSSH: Cara mengakhiri blok pertandingan

49

Saya menggunakan Matchblok di OpenSSH's /etc/ssh/sshd_config(on debian) untuk membatasi beberapa pengguna ke SFTP:

# my stuff
Match group sftponly
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp -u 0002
    ChrootDirectory %h

Seperti yang Anda lihat, saya menggunakan #my stuffkomentar di file konfigurasi khusus untuk dengan mudah membedakan konfigurasi default dari yang saya buat (dan saya meletakkannya di akhir file konfigurasi).
Sekarang saya ingin menambahkan direktif UseDNS noke konfigurasi (untuk mempercepat login) tetapi OpenSSH berkata Directive 'UseDNS' is not allowed within a Match block.

Sekarang saya bertanya-tanya apakah ada sintaks yang ingin End Matchmengakhiri blok pencocokan itu?

mreithub
sumber

Jawaban:

30

Untuk mengakhiri blok pertandingan dengan openssh 6.5p1 atau lebih tinggi, gunakan baris: Match all

Ini adalah sepotong kode, diambil dari /etc/ssh/sshd_configfile saya :

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

Match host 192.168.1.12
    PasswordAuthentication yes
Match all

X11Forwarding yes
X11DisplayOffset 10

Garis dengan sol Matchtidak akan berfungsi. (Tidak berhasil untuk saya, sshd menolak untuk memulai)

loxaxs
sumber
2
Keren, saya baru saja mencobanya dan sepertinya berfungsi seperti yang diharapkan (saya bahkan bisa menggunakan UseDNSarahan (yang tidak berhasil sebelumnya). Menerima ini sebagai jawaban baru - Versi OpenSSH yang lebih baru tampaknya tidak akan meratakan. mulai dengan yang kosong Match: lists.mindrot.org/pipermail/openssh-unix-dev/2014-April/…
mreithub
42

Tampaknya tidak ada cara untuk secara eksplisit mengakhiri blok Match. Dari halaman manual sshd_config :

Jika semua kriteria pada baris Pencocokan terpenuhi, kata kunci pada baris berikut mengesampingkan yang ditetapkan di bagian global file konfigurasi, hingga baris Pencocokan lain atau akhir file.

Jadi Matchblok harus ada di akhir sshd_configfile.

mreithub
sumber
7
Pilihan lain adalah memiliki garis dengan apa pun kecuali Matchdi atasnya, yang secara efektif cocok dengan semuanya dan karena itu sama dengan 'mengakhiri' blok. Ini tetap tidak akan membiarkan Anda menggunakan arahan yang tidak diizinkan di blok Match, jadi itu tidak akan membantu dengan skenario khusus Anda.
Nathan Bouscal
4
"Blok pencocokan harus di akhir file sshd_config." Sangat membantu saya dan tidak menjelaskan cukup jelas (untuk saya) di halaman manual, dll. Terima kasih.
MountainX
0

Saya pikir kita harus menyebutkan kunci Matchdan Hostpada saat yang sama.

Host

Membatasi deklarasi berikut (sampai ke yang berikutnya Hostatau Matchkata kunci) menjadi hanya bagi mereka host bahwa pertandingan salah satu pola diberikan setelah kata kunci.

Match

Membatasi deklarasi berikut (sampai ke yang berikutnya Hostatau Matchkata kunci) yang akan digunakan hanya ketika kondisi berikut Pertandingan kata kunci puas.

Membaca manual man ssh_config, baik Host *dan Match allakan mengatur ulang blok pembatasan sebelumnya, tidak peduli itu adalah Matchblok atau Hostblok.

Simba
sumber