SSH funziona per root ma non per altri utenti?

1

Sono nuovo di Lin / VPS e recentemente ho affittato un VPS con Ubuntu 16. Accedo ad esso usando SSH con Putty, da Win10.

Posso accedere correttamente con SSH solo quando sono root & & la mia chiave è caricata (Pageant).

MA:

Se non sono root e / o non ho caricato nessuna chiave , posso ancora accedere con qualsiasi nome utente e password (e questo include root!).

Voi ragazzi comprendete la violazione della sicurezza qui e la follia di questa situazione. Non riesco a spiegarlo, come quando accedo come root quando viene caricata la mia chiave privata --- Posso accedere SSH bene, senza inserire una password.

Puoi spiegare come è possibile?

    
posta JohnDoea 22.10.2016 - 04:28
fonte

2 risposte

2

Can you please explain how this is possible?

Ci sono due configurazioni valide che permetteranno a root di accedere usando una password:

  1. PermitRootLogin yes
  2. PermitRootLogin without-password e ChallengeResponseAuthentication yes E alcune configurazioni PAM

ISTR l'impostazione predefinita di Ubuntu è PermitRootLogin no , ma credo che Linode, essendo un servizio che fornisce server remoti che hanno solo un root di account ab initio, ha modificato l'impostazione predefinita nella loro build in modo che i loro utenti possano accedere direttamente senza usare lish o altre opzioni della console remota (che può essere un po 'kludgy da usare). In realtà eseguo un linux Ubuntu 16, ma il mio sshd_config è stato modificato subito dopo l'installazione, e questa è un'impostazione che ho sempre modificato, quindi non posso dirti come è stata spedita:)

Per citare la pagina man sshd_config:

PermitRootLogin
    Specifies whether root can log in using ssh(1).  The argument
    must be ''yes'', ''prohibit-password'', ''without-password'',
    ''forced-commands-only'', or ''no''.  The default is ''no''.
    Note that if ChallengeResponseAuthentication is ''yes'', the root
    user may be allowed in with its password even if PermitRootLogin
    is set to ''without-password''.

    If this option is set to ''prohibit-password'' or
    ''without-password'', password and keyboard-interactive
    authentication are disabled for root.

Per citare sshd_config sul mio sistema Ubuntu 16:

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

Potresti leggere Come mettere a punto la configurazione del daemon SSH su un VPS Linux che, sebbene non riguardi questo particolare problema, è un sondaggio ben leggibile su ciò che puoi fare per il tuo sshd_config.

    
risposta data 22.10.2016 - 04:46
fonte
0

Esegui il seguente comando client openssh sul tuo server ssh con qualsiasi opzione (numero di porte elevato auspicabilmente) necessario (puoi anche farlo localmente sull'IP pubblico, se necessario):

ssh -o PreferredAuthentications = none

Una parte di l'output mostrerà le opzioni di autenticazione consentite per il server SSH e potrebbe includere testo simile al seguente: (publickey, password)

Sembra che tu abbia impostato il login senza password tramite chiavi condivise per l'account root ma non per gli altri account. Ti è permesso avere entrambe le opzioni di autenticazione publickey e password disponibili allo stesso tempo anche se potrebbe non essere quello che volevi fare. Se non è quello che vuoi, devi solo riconfigurare il demone ssh in base alle tue esigenze.

    
risposta data 22.10.2016 - 04:54
fonte

Leggi altre domande sui tag