Ho installato .ssh / authorized_keys e sono in grado di accedere con il nuovo "utente" usando la chiave pub / privata ... Ho anche aggiunto "utente" all'elenco dei sudoers ... il problema che ho ora è quando Provo ad eseguire un comando sudo, qualcosa di semplice come:
$ sudo cd /root
mi chiederà la mia password, che inserisco, ma non funziona (sto usando la password della chiave privata che ho impostato)
Inoltre, ho disabilitato la password dell'utente tramite
$ passwd -l user
Cosa mi sto perdendo?
Da qualche parte le mie osservazioni iniziali sono state fraintese ...
Sto cercando di rafforzare il mio sistema ... l'obiettivo finale è quello di utilizzare le chiavi pub / private per fare il login rispetto alla semplice autenticazione con password. Ho capito come impostare tutto ciò tramite il file authorized_keys.
Inoltre alla fine prevarrò gli accessi al server tramite l'account di root. Ma prima di farlo ho bisogno di sudo per lavorare per un secondo utente (l'utente con il quale accederò al sistema in ogni momento).
Per questo secondo utente voglio impedire accessi con password regolari e forzare solo accessi a chiave pubblica / privata, se non blocco l'utente tramite "passwd -l user ... quindi se non uso una chiave, posso ancora entrare nel server con una password normale.
Ma, soprattutto, devo far funzionare sudo con una configurazione di chiave pub / privata con un utente a cui è stata disabilitata la password.
Modifica: OK, penso di averlo (la soluzione):
1) Ho modificato / etc / ssh / sshd_config e impostato PasswordAuthentication no
Ciò impedirà gli accessi con password ssh (assicurarsi di avere una configurazione di chiave pubblica / privata funzionante prima di farlo
2) Ho modificato l'elenco dei sudoers visudo
e aggiunto
root ALL=(ALL) ALL
dimas ALL=(ALL) NOPASSWD: ALL
3) root è l'unico account utente che avrà una password, sto testando con due account utente "dimas" e "sherry" che non hanno una password impostata (le password sono vuote passwd -d user
)
Quanto sopra impedisce essenzialmente a tutti di accedere al sistema con password (è necessario impostare una chiave pubblica / privata).
Inoltre, gli utenti nell'elenco dei sudoer hanno capacità di amministrazione. Possono anche su
account diversi. Quindi sostanzialmente "dimas" può sudo su sherry
, tuttavia "dimas NON può farlo su sherry
. Allo stesso modo qualsiasi utente NON nell'elenco dei sudoers NON può fare su user
o sudo su user
.
NOTA Quanto sopra funziona ma è considerato di scarsa sicurezza. Qualsiasi script in grado di accedere al codice come utente "dimas" o "sherry" sarà in grado di eseguire sudo per ottenere l'accesso root. Un bug in ssh che consente agli utenti remoti di accedere nonostante le impostazioni, un'esecuzione di codice remoto in qualcosa come Firefox o qualsiasi altro difetto che consente l'esecuzione di codice indesiderato poiché l'utente sarà ora in grado di eseguire come root. Sudo dovrebbe sempre richiedere una password o puoi anche accedere come root invece di qualche altro utente.