Domanda :Come possiamo limitare l'accesso di utenti/gruppi a un sistema usando ssh?
SSH utilizza file specifici per la configurazione per ottenere queste varie restrizioni. Le sessioni ssh in entrata (nell'host) sono gestite da sshd (il demone ssh). Questo processo ha il proprio file di configurazione, /etc/ssh/sshd_config . I parametri nel file /etc/ssh/sshd_config applicabili sono AllowGroups , Consenti utenti , NegaGruppi e DenyUsers . Se questi parametri sono impostati, avrà effetto su tutti gli utenti di tutti gli host.
Per limitare i gruppi, l'opzione Consenti gruppi e NegaGruppi sono utili. Tali opzioni consentiranno o non consentiranno agli utenti il cui gruppo principale o gruppo supplementare corrisponde a uno dei modelli di gruppo.
Esempio
1. Per consentire alle connessioni SSH da qualsiasi luogo di accedere agli account Mary e Jerry, ma a nessun altro account:
# vi /etc/ssh/sshd_config AllowUsers mary jerry
2. Per consentire le connessioni SSH da s01.geeklab.com all'account john, ma non altre connessioni SSH in entrata:
AllowUsers [email protected]
3. Per negare la connessione SSH da qualsiasi luogo a tutti gli utenti di "finanza":
DenyGroups finance
Visualizzazione dei tentativi di accesso non riusciti
Puoi sempre rivedere i record di accesso in qualsiasi momento digitando:
# cat /var/log/secure | grep 'sshd'
Il cui output sarà simile a questo:
May 3 13:57:24 centos7 sshd[2479]: pam_unix(sshd:session): session closed for user root May 3 13:57:28 centos7 sshd[3313]: Accepted password for root from 192.168.1.17 port 51093 ssh2 May 3 13:57:28 centos7 sshd[3313]: pam_unix(sshd:session): session opened for user root by (uid=0)
E, se desideri visualizzare un elenco di tentativi falliti, puoi provare quanto segue:
# cat /var/log/secure | grep 'sshd.*Failed'
I tentativi di accesso accettati possono essere visualizzati con:
# cat /var/log/secure | grep 'sshd.*Accepted'