Per impostazione predefinita, SSH consentirà a qualsiasi account utente valido di accedere al sistema remoto e ciò include anche l'utente root. Sebbene l'utente root sia impostato con una password complessa, può solo limitare la sua esposizione agli attacchi di forza bruta. Ma come detto limita solo, è ancora possibile un accesso dannoso all'account root. Quindi è sempre consigliabile disabilitare l'accesso dell'utente root tramite SSH e utilizzare un account utente non privilegiato per accedere al sistema remoto. Una volta ottenuto l'accesso al sistema remoto come utente non privilegiato, su -
può essere utilizzato per passare all'account root. Questo tutorial spiegherà come disabilitare l'accesso dell'utente root tramite SSH su CentOS 7.
I passaggi menzionati in questo tutorial richiedono l'accesso come root. L'account di esempio utilizzato è "amministratore" che dovrebbe essere sostituito con un nome utente a tua scelta.
Passaggio 1: Accedi al sistema come root
utente. Non preoccuparti, utilizzerai root
account per l'accesso remoto solo in questo passaggio.
Passaggio 2: Crea un account utente alternativo. Ad esempio, administrator
.
[root@root ~]# adduser administrator
Passaggio 3: Imposta una password complessa per l'account utente creato nel passaggio 2.
[root@root ~]# passwd administrator
Passaggio 4 : Apri un altro terminale e accedi al sistema come nuovo utente creato nel passaggio 2. Questo passaggio ti consentirà di verificare se il nuovo account funziona correttamente.
Passaggio 5: Verifica che puoi passare all'account root.
[administrator@administrator ~]$ su -
Inserisci root
password dell'account e controlla se hai ottenuto l'accesso come root.
[root@root ~]# whoami root
Passaggio 6: Disabilita root
accesso utente tramite SSH.
[root@root ~]# vi /etc/ssh/sshd_config
Passaggio 7: Cerca '#PermitRootLogin yes'
. Per impostazione predefinita, root
l'accesso è consentito da SSH.
Passaggio 8: Cambia '#PermitRootLogin yes' to 'PermitRootLogin no'
Passaggio 9: Salva il file ed esci
Passaggio 10: Assicurati di sshd_config
non presenta errori di sintassi.
[root@root ~]# /usr/sbin/sshd -t [root@root ~]# echo $? 0
L'output sopra suggerisce, sshd_config
non ha alcun errore di sintassi. Nel caso, se si verifica un errore, vedresti un output diverso da zero.
Passaggio 11: Riavvia SSH per leggere la nuova modifica alla configurazione.
# service sshd restart
Passaggio 12: Assicurati di root
l'accesso tramite SSH è disabilitato.
ssh root@<ip-address>
L'accesso dovrebbe essere negato nonostante l'inserimento di una password valida per root
utente. Significa che SSH ha negato l'accesso alla root
conto.
Passaggio 13: Accedi come account utente non privilegiato creato nel passaggio 2.
Passaggio 14: Se necessario, passa a root
conto come di seguito:
[administrator@administrator ~]$ su -
Questo è tutto! Hai disabilitato con successo root
accedere al sistema remoto tramite SSH.
I comandi precedenti sono stati testati su CentOS 7 e con OpenSSH_6.6.1p1