OpenSSH: Bir eşleşme bloğu nasıl sona erer?


49

Bazı kullanıcıları SFTP ile sınırlandırmak için MatchOpenSSH’lerde /etc/ssh/sshd_config(debian'da) bir blok kullanıyorum :

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

Gördüğünüz gibi, #my stuffvarsayılan yapılandırmaları yaptığımlardan kolayca ayırt etmek için özel yapılandırma dosyalarında bir yorum kullanıyorum (ve bunları yapılandırma dosyalarının sonuna koyarım).
Şimdi yönergeyi UseDNS noyapılandırmaya eklemek istedim (girişleri hızlandırmak için) ancak OpenSSH dedi Directive 'UseDNS' is not allowed within a Match block.

Şimdi End Matchbu maç bloklarını bitirmek gibi bir sözdizimi olup olmadığını merak ediyordum ?

Yanıtlar:


30

Openssh 6.5p1 veya üstü bir maç bloğunu sonlandırmak için şu satırı kullanın: Match all

İşte dosyamdan alınan bir kod parçası /etc/ssh/sshd_config:

# 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

Tabanlı bir çizgi Matchçalışmaz. (İşe yaramadı, sshd başlamayı reddetti)


2
Harika, sadece bunu denedim ve beklendiği gibi çalışıyor gibi görünüyor ( UseDNSdirektifi daha önce işe yaramadı) yönergesini bile kullanabilirim . Bunu yeni cevap olarak kabul ediyorum . - Daha yeni OpenSSH sürümleri görünmeyecek boş bir başlangıç Match: lists.mindrot.org/pipermail/openssh-unix-dev/2014-Nisan/…
mreithub 17:16 '

42

Maç bloklarını açıkça sonlandırmanın bir yolu yok gibi görünüyor. Gönderen sshd_config manuel sayfa :

Eşleşme satırındaki ölçütlerin tümü karşılandığında, aşağıdaki satırlardaki anahtar kelimeler, başka bir Eşleme satırına veya dosyanın sonuna kadar , yapılandırma dosyasının genel bölümünde ayarlananları geçersiz kılar .

Bu yüzden Matchblokların sshd_configdosyanın sonunda olması gerekir .


7
Diğer bir seçenek ise Matchüzerinde hiçbir şey olmayan bir çizginin olması, her şeyi etkili bir şekilde eşleştiriyor ve bu nedenle bloğu 'sonlandırma' ile aynı. Bu yine de, Maç bloklarında izin verilmeyen yönergeleri kullanmanıza izin vermez, bu nedenle özel senaryonuz için yardımcı olmaz.
Nathan Bouscal

4
"Maç bloklarının sshd_config dosyasının sonunda olması gerekiyor." Bana çok yararlı ve man sayfası, vb (benim için) yeterince açıklanmadı. Teşekkürler.
MountainX

0

Bence aynı anda Matchhem de Hostanahtardan bahsetmeliyiz .

Host

Aşağıdaki bildirimleri (bir sonraki Hostveya Matchanahtar kelimeye kadar) yalnızca anahtar kelimeden sonra verilen modellerden biriyle eşleşen kullanıcılar için kısıtlar .

Match

Yalnızca Eşleme anahtar kelimesini izleyen koşullar yerine getirildiğinde kullanılacak olan aşağıdaki bildirimleri (bir sonraki Hostveya Matchanahtar kelimeye kadar) kısıtlar .

KÕlavuzunu Okuma man ssh_confighem Host *ve Match alleski kısıtlama bloğu sıfırlar olursa olsun bu bir olduğu Matchblok ya da Hostblok.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.