Sta disabilitando l'accesso della password per SSH come la cancellazione della password per tutti gli utenti?

Ho un server cloud con solo un utente root. Ho SSH ad esso usando solo le chiavi RSA. Per renderlo più sicuro, volevo distriggersre la funzionalità di password. So che questo può essere fatto modificando il /etc/ssh/sshd_config e cambiando PermitRootLogin yes a PermitRootLogin without-password . Mi stavo chiedendo se semplicemente eliminando la password di root tramite passwd -d root sarebbe equivalente (supponendo che non crei più utenti o nuovi utenti hanno anche eliminato le loro password). Ci sono problemi di sicurezza con un approccio versati l'altro?

  • Perché dovrei utilizzare un numero di port ben noto? (es. 22, 80, ecc ...)
  • Come distriggersre la "notifica di mancata consegna del mittente" in postfix?
  • C'è un firewall personale per Linux / Ubuntu?
  • Applicare automaticamente aggiornamenti di protezione per AWS Elastic Beanstalk
  • Come posso impostare un host predefinito per nginx?
  • Come abilitare più console virtuali su Linux?
  • ldapsearch formato file di password
  • Rimozione di moduli ostinati
  • Impostazione del nome host nel prompt delle linux shell
  • Perché iptables rifiuta il secondo e successivo frammento di un pacchetto consentito?
  • Quali sono i passaggi principali per l'analisi forense della scatola linux dopo che è stato hackato?
  • Resume command in esecuzione nella session SSH abbandonata
  • 2 Solutions collect form web for “Sta disabilitando l'accesso della password per SSH come la cancellazione della password per tutti gli utenti?”

    L'utilizzo dell'authentication di chiave pubblica bypassa altri methods di authentication, quindi non è necessario utilizzare PermitRootLogin without-password , è pericoloso se qualcuno cerca di accedere come root e non è costretto a presentare una chiave pubblica.

    Per eseguire ciò che si desidera, distriggersre l'authentication di password in sshd, non utilizzare PasswordAuthentication no nel tuo sshd_config .

    Questa impostazione non influisce sul contenuto di /etc/shadow , in cui vengono memorizzate le password utente. Se un'altra applicazione vuole autenticare tramite password (per esempio CUPS), questo funziona ancora.

    Se si desidera disabilitare questa opzione, la cancellazione di una password degli utenti con il command sopra indicato non funziona. Permette l' accesso di password per un determinato utente, che non è sicuramente una protezione aggiunta.

    L'emissione di passwd -l <user> compirà ciò che volevi. Tenga presente che altre applicazioni di ssh potrebbero avere un problema in quanto prevedono l'authentication delle password nella configuration predefinita (sudo, su, CUPS, ecc.)

    Citando da man passwd :

     -l, --lock Lock the password of the named account. This option disables a password by changing it to a value which matches no possible encrypted value (it adds a ´!´ at the beginning of the password). Note that this does not disable the account. The user may still be able to login using another authentication token (eg an SSH key). To disable the account, administrators should use usermod --expiredate 1 (this set the account's expire date to Jan 2, 1970). Users with a locked password are not allowed to change their password. 

    Assolutamente no, la rimozione della password di root sarebbe un grande rischio di sicurezza, se si desidera modificare la password di root suggerirei di impostare una password random forte per l'utente root. Anche tho /etc/shadow

    Ora che l'utente di root è bloccato per l'accesso SSH solo al tuo codice SSH, il tuo passaggio successivo è quello di verificare quali altri utenti hanno accesso alla shell e lo rimuoveranno se non necessario e fare altrettanto per gli account utente aggiuntivi che puoi creare e conservare Accesso SSH solo all'utente root.

    Se si sceglie di rimuovere la password per qualsiasi utente, dovrebbe avere anche l'accesso di shell rimosso in /etc/passwd impostando la shell a /sbin/nologin .

    Un approccio diverso sarebbe quello di distriggersre l'accesso password per SSH per tutti gli utenti e consentire solo l'authentication delle chiavi pubbliche.

    ChallengeResponseAuthentication no
    PasswordAuthentication no
    UsePAM no

    Assicurarsi inoltre che l'authentication della chiave pubblica sia consentita in /etc/ssh/sshd_config :

    PubkeyAuthentication yes

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.