GNU/Linux >> Linux Esercitazione >  >> Linux

Limita l'accesso SSH a un IP o host specifico

Questo articolo descrive come configurare un accesso SSH (Secure Shell) limitato a un server da un particolare indirizzo IP o nome host.

A tal fine, utilizzare i wrapper TCP perché forniscono il filtraggio del traffico di base del traffico di rete in ingresso. Sebbene più complessi in superficie, i TCP Wrapper utilizzano essenzialmente due file:/etc/hosts.allow e /etc/hosts.deny .

Se i file non esistono ancora, puoi crearli. utilizzando il seguente comando:

sudo touch /etc/hosts.{allow,deny}

Nega tutti gli host

È considerata una buona pratica negare tutte le connessioni SSH in entrata. Per farlo, esegui i seguenti passaggi:

  1. Apri il file /etc/hosts.deny utilizzando un editor di testo:

     vi /etc/hosts.deny
    
  2. Aggiungi la seguente riga per negare tutte le connessioni SSH in entrata al server:

     sshd: ALL
    
  3. Salva e chiudi il file.

Questo è tutto. Questo blocca tutto l'accesso SSH all'host

Consenti indirizzi IP

Ora, esegui i seguenti passaggi per configurare gli indirizzi IP con l'autorizzazione ad accedere tramite SSH:

  1. Apri il file /etc/hosts.allow file utilizzando un editor di testo:

     vi /etc/hosts.allow
    
  2. Aggiungi un sshd linea per consentire all'indirizzo IP di tua scelta di connettersi utilizzando SSH pubblico. Ad esempio, la riga seguente consente la rete 172.168.0.21 :

     sshd: 172.168.0.21
    
  3. Salva e chiudi il file.

I file TCP Wrapper accettano un elenco di voci separate da virgole, quindi puoi aggiungere indirizzi alla prima voce di questa sezione.

sshd: 172.168.0.21, 10.83.33.77, 10.63.152.9, 10.12.100.11, 10.82.192.28

Accettano anche indirizzi IP parziali come sottoreti, quindi puoi consentire l'intero 172.168.0.0/24 come:

sshd: 172.168.0.

O come mostrato nell'esempio seguente:

sshd : localhost
sshd : 192.168.0.
sshd : 99.151.250.7

Puoi consentire o negare in base all'indirizzo IP, alla sottorete o al nome host. Elenca le regole in ordine dal più al meno specifico. Tieni presente che i server basati su sistemi operativi Linux® guardano prima a hosts.allow file che inizia dall'alto verso il basso, seguito da hosts.deny file. Ad esempio, un tentativo di connessione SSH da un indirizzo IP in hosts.allow è consentito, anche se hosts.deny blocca tutte le connessioni.

Con questa configurazione, qualsiasi client elencato in hosts.allow sono consentiti tramite SSH e qualsiasi client non elencato viene bloccato.

Nota :Non è necessario riavviare il demone SSH per rendere effettive le modifiche.


Linux
  1. Accesso SSH

  2. Come consentire o negare l'accesso remoto ad account utente specifici sul server Linux

  3. Come consentire SFTP e non consentire SSH?

  4. Come entrare in una directory specifica?

  5. Consenti accesso Ssh remoto?

Come configurare l'accesso SSH senza password

Consenti l'accesso root SSH su Ubuntu 20.04 Focal Fossa Linux

Consenti l'accesso root SSH su Ubuntu 22.04 Jammy Jellyfish Linux

Come disabilitare l'accesso SSH a un utente specifico in Linux

Come limitare un utente SSH a consentire solo il tunneling SSH?

Consenti SCP ma non l'accesso effettivo tramite SSH