Come posso consentire l'autenticazione della password SSH solo da determinati indirizzi IP?


103

Vorrei consentire l'autenticazione della password SSH solo da una determinata sottorete. Vedo l'opzione per impedirlo a livello globale in /etc/ssh/sshd_config:

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

Esiste un modo per applicare questa configurazione a un intervallo selezionato di indirizzi IP?

Risposte:


156

Utilizzare un Matchblocco alla fine di /etc/ssh/sshd_config:

# Global settings
…
PasswordAuthentication no
…

# Settings that override the global settings for matching IP addresses only
Match address 192.0.2.0/24
    PasswordAuthentication yes

Quindi dire al servizio sshd di ricaricare la sua configurazione:

service ssh reload

1
Ho provato questo (con 192.168.0.0/16 invece) e quando ho riavviato il servizio ssh mi sono bloccato. SSH ha rifiutato qualsiasi connessione. Qualche idea sul perché questo potrebbe essere?
Michael Waterfall,

2
@MichaelWaterfall È impossibile dirlo con così poche informazioni. Assicurati di mantenere in esecuzione una shell fino a quando non avrai convalidato la nuova configurazione. Il riavvio del servizio ssh non influisce sulle connessioni attive.
Gilles,

28
Il probabile problema è che metti il ​​blocco Match da qualche parte nel mezzo di sshd_config. Le linee di corrispondenza hanno effetto su ogni riga successiva fino alla riga di corrispondenza successiva, quindi dovrebbero trovarsi alla fine del file.
Ken Simon

6
Nonostante il rientro nella risposta, sshd_confignon è Python;)
Nick T

1
@frepie Il Matchblocco si estende fino alla prossima Matchdirettiva o fino alla fine del file. Ecco perché devi metterlo alla fine.
Gilles,

8

Puoi aggiungere:

AllowUsers user1@192.168.*.*, user2@192.168.*.*

questo cambia il comportamento predefinito, nega davvero tutti gli altri utenti da tutti gli host. Blocco di corrispondenza disponibile su OpenSsh versione 5.1 e successive.


call Autorizzo un gruppo invece di un singolo utente
Lamar

@Lamar Da man sshd_config, sembra che AllowGroupsfunzioni come AllowUsers, ma AllowUserssembra avere la precedenza AllowGroups.
conradkdotcom,
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.