OpenSSH: come terminare un blocco delle partite


49

Sto usando un Matchblocco in OpenSSH /etc/ssh/sshd_config(su debian) per limitare alcuni utenti a SFTP:

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

Come puoi vedere, utilizzo un #my stuffcommento nei file di configurazione personalizzati per distinguere facilmente le configurazioni predefinite da quelle che ho creato (e le inserisco alla fine dei file di configurazione).
Ora volevo aggiungere la direttiva UseDNS noalla configurazione (per velocizzare gli accessi) ma OpenSSH ha detto Directive 'UseDNS' is not allowed within a Match block.

Ora mi chiedevo se esiste una sintassi simile End Matcha quella fine di quei blocchi di corrispondenza?

Risposte:


30

Per finire un blocco match con openssh 6.5p1 o superiore, usa la riga: Match all

Ecco un pezzo di codice, tratto dal mio /etc/ssh/sshd_configfile:

# 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

Una linea con una suola Matchnon funzionerà. (Non ha funzionato per me, sshd ha rifiutato di iniziare)


2
Bene, l'ho appena provato e sembra funzionare come previsto (potrei persino usare la UseDNSdirettiva (che non ha funzionato prima). Accettarlo come nuova risposta. - Le versioni più recenti di OpenSSH apparentemente non funzioneranno nemmeno inizia con un vuoto Match: lists.mindrot.org/pipermail/openssh-unix-dev/2014-Aprile/…
mreithub

42

Sembra che non ci sia modo di terminare esplicitamente i blocchi Match. Dalla pagina del manuale sshd_config :

Se tutti i criteri sulla riga di corrispondenza sono soddisfatti, le parole chiave nelle righe seguenti hanno la precedenza su quelle impostate nella sezione globale del file di configurazione, fino a quando non viene trovata un'altra riga di corrispondenza o la fine del file.

Quindi i Matchblocchi devono essere alla fine del sshd_configfile.


7
Un'altra opzione è quella di avere una linea con nient'altro che Matchsu di essa, che corrisponda effettivamente a tutto e quindi equivale a "terminare" il blocco. Tuttavia, ciò non ti consentirà di utilizzare le direttive non consentite nei blocchi Match, quindi non ti aiuterà con il tuo particolare scenario.
Nathan Bouscal,

4
"I blocchi di corrispondenza devono trovarsi alla fine del file sshd_config." Molto utile per me e non spiegato abbastanza chiaramente (per me) nella pagina man, ecc. Grazie.
MountainX

0

Penso che dovremmo menzionare la chiave Matche Hostallo stesso tempo.

Host

Limita le seguenti dichiarazioni (fino alla successiva Hosto alla Matchparola chiave) in modo che siano solo per quegli host che corrispondono a uno dei pattern indicati dopo la parola chiave.

Match

Limita le seguenti dichiarazioni (fino alla successiva Hosto alla Matchparola chiave) da utilizzare solo quando sono soddisfatte le condizioni che seguono la parola chiave Match.

Leggendo il manuale di man ssh_config, entrambi Host *e Match allresetterai il precedente blocco di restrizione, indipendentemente dal fatto che si tratti di un Matchblocco o di un Hostblocco.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.