Accesso al server SSH: autorizzazione negata, si prega di riprovare


9

Sto provando ad accedere al mio server SSH usando un nome utente e una password, ma ottengo questo errore dopo aver inserito la password corretta:

Permission denied, please try again.

Io posso effettuare il login utilizzando un pubkey su un'altra macchina, però, ma non l'ho disattivato l'autenticazione della password normale. L'unica cosa che ho disabilitato sono gli accessi root.

Ecco il mio file sshd_config:

# File di configurazione generato dal pacchetto
# Vedi la manpage sshd_config (5) per i dettagli

# Quali porte, IP e protocolli ascoltiamo
Porta 22
# Usa queste opzioni per limitare a quali interfacce / protocolli sshd si legherà
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocollo 2
# HostKeys per protocollo versione 2
HostKey / etc / ssh / ssh_host_rsa_key
HostKey / etc / ssh / ssh_host_dsa_key
HostKey / etc / ssh / ssh_host_ecdsa_key
#Privilege Separation è attivato per motivi di sicurezza
UsePrivilegeSeparation sì

# Durata e dimensioni della chiave del server effimera versione 1
KeyRegenerationInterval 3600
ServerKeyBits 768

# Registrazione
SyslogFacility AUTH
LogLevel INFO

# Autenticazione:
LoginGraceTime 120
PermitRootLogin no
StrictModes sì

RSAAutenticazione sì
PubkeyAutenticazione sì
#AuthorizedKeysFile% h / .ssh / authorized_keys

# Non leggere i file ~ / .rhosts e ~ / .shosts dell'utente
Ignora ospiti sì
# Perché questo funzioni, avrai anche bisogno delle chiavi host in / etc / ssh_known_hosts

RhostsRSAAutenticazione n
# simile per la versione 2 del protocollo
HostbasedAuthentication no
# Uncomment se non ti fidi di ~ / .ssh / known_hosts per RhostsRSAAuthentication
#IgnoreUserKnownHosts sì

# Per abilitare le password vuote, passare a Sì (NON CONSIGLIATO)
PermitEmptyPasswords no

# Passa a yes per abilitare le password di risposta alla sfida (attenzione ai problemi con
# alcuni moduli e thread PAM)
ChallengeResponseAuthentication no

# Passare a no per disabilitare le password di testo non crittografate
PasswordAuthentication sì

# Opzioni Kerberos 
#KerberosAutenticazione n
#KerberosGetAFSToken no
#KerberosOrLocalPasswd sì
#KerberosTicketCleanup sì

# Opzioni GSSAPI
#GSSAPIAautenticazione n
#GSSAPICleanupCredentials sì

X11 Inoltro sì
X11DisplayOffset 10
PrintMotd no
PrintLastLog sì
TCPKeepAlive sì
#UseLogin no

#MaxStartups 10:30:60 
#Banner /etc/issue.net

# Consenti al client di passare le variabili di ambiente della locale
AcceptEnv LANG LC_ *

Sottosistema sftp / usr / lib / openssh / sftp-server

# Impostalo su "Sì" per abilitare l'autenticazione PAM, l'elaborazione dell'account,
# e elaborazione della sessione. Se abilitato, l'autenticazione PAM lo farà
# essere autorizzato tramite ChallengeResponseAuthentication e
# PasswordAuthentication. A seconda della configurazione di PAM,
# L'autenticazione PAM tramite ChallengeResponseAuthentication può bypassare
# l'impostazione di "PermitRootLogin senza password".
# Se desideri solo eseguire l'account PAM e i controlli di sessione senza
# Autenticazione PAM, quindi abilita questa opzione ma imposta PasswordAuthentication
# e ChallengeResponseAuthentication su 'no'.
UsePAM sì 
IgnoreUserKnownHosts no
PasswordAuthentication sì

Ho aggiunto le ultime 2 righe in un ultimo tentativo di farlo funzionare. (Li ho sugli altri miei vps e funzionano lì)

Ecco l'elenco della directory ~ / .ssh / del mio utente:

ls -la /home/skerit/.ssh
totale 16
drwx ------ 2 skerit skerit 4096 2011-06-25 15:11.
drwxr-xr-x 4 skerit skerit 4096 2011-07-07 21:05 ..
-rw-r - r-- 1 skerit skerit 1882 25/06 2011 15:15 15:03 authorized_keys
-rw-r - r-- 1 skerit skerit 884 2011-06-23 22:59 known_hosts 

Questo è l'output di / usr / sbin / sshd -d:

debug1: userauth-request per il servizio skerit utente metodo ssh-connection nessuno
debug1: tentativo 0 errori 0
debug1: PAM: inizializzazione per "skerit"
debug1: PAM: impostazione di PAM_RHOST su "82.197.70.70"
debug1: PAM: impostazione di PAM_TTY su "ssh"
debug1: userauth-request per utente skerit service ssh-connection method publickey
debug1: tentativo 1 fallimenti 0
debug1: verifica se pkalg / pkblob sono accettabili
debug1: Verifica del file della blacklist /usr/share/ssh/blacklist.RSA-2048
debug1: Verifica del file della blacklist /etc/ssh/blacklist.RSA-2048
debug1: temporary_use_uid: 1000/1000 (e = 0/0)
debug1: prova del file della chiave pubblica /home/skerit/.ssh/authorized_keys
debug1: fd 4 che cancella O_NONBLOCK
debug1: restore_uid: 0/0
debug1: temporary_use_uid: 1000/1000 (e = 0/0)
debug1: prova del file della chiave pubblica /home/skerit/.ssh/authorized_keys2
debug1: impossibile aprire le chiavi autorizzate '/home/skerit/.ssh/authorized_keys2': nessun file o directory
debug1: restore_uid: 0/0
Chiave pubblica non riuscita per skerit dalla porta 82.197.70.70 57154 ssh2
debug1: richiesta userauth per la password del metodo ssh-connection del servizio skerit dell'utente
debug1: tentativi 2 fallimenti 1
debug1: PAM: autenticazione password non riuscita per skerit: autenticazione fallita
Password non riuscita per skerit dalla porta 82.197.70.70 57154 ssh2 

Ho quindi provato ad accedere al server ssh DAL server ssh (localmente) usando lo stesso nome utente e password, e ha funzionato. Questo era nel file auth.log:

8 lug 12:21:50 vpsnl1 sshd [27298]: debug1: impossibile aprire il file chiave '/ etc / ssh / ssh_host_ecdsa_key': nessun file o directory
8 lug 12:21:50 vpsnl1 sshd [27298]: errore: Impossibile caricare la chiave host: / etc / ssh / ssh_host_ecdsa_key
8 lug 12:22:16 vpsnl1 sshd [27298]: pam_unix (sshd: auth): errore di autenticazione; logname = uid = 0 euid = 0 tty = ssh ruser = rhost = 82.197.70.70 user =
skerit
8 luglio 12:23:50 vpsnl1 sshd [27439]: Server in ascolto sulla porta 0.0.0.0 22.
8 lug 12:23:50 vpsnl1 sshd [27439]: Server in ascolto su :: porta 22.
8 lug 12:24:07 vpsnl1 sshd [27458]: errore: Impossibile caricare la chiave host: / etc / ssh / ssh_host_ecdsa_key
8 lug 12:24:14 vpsnl1 sshd [27458]: Password accettata per skerit dalla porta 127.0.0.1 57667 ssh2
8 lug 12:24:14 vpsnl1 sshd [27458]: pam_unix (sshd: session): sessione aperta per skerit utente da (uid = 0)
8 lug 12:24:25 vpsnl1 sshd [27471]: Disconnect ricevuto da 127.0.0.1: 11: disconnesso dall'utente
8 lug 12:24:25 vpsnl1 sshd [27458]: pam_unix (sshd: session): sessione chiusa per skerit utente 

Potresti aggiungere il tuo ssh-config?
Bart De Vos,

Bene, aggiunto il file di configurazione!
skerit,

Che ne dici di permessi su .ssh? Potresti pubblicare ls -la ~ / .ssh sul server?
mkudlacek,

Ok, ho aggiunto l'elenco dei file dell'utente con cui sto tentando di accedere come.
skerit,

1
Penso che le Authorized_keys non dovrebbero essere leggibili in tutto il mondo, ma ciò non spiega perché non è possibile accedere con la password. Puoi fare su skeritnel tuo account?
mkudlacek,

Risposte:


9

Sei sicuro che l'account utente a cui stai tentando di accedere sia configurato correttamente? Se accedi come root sul sistema, puoi accedere suall'account utente?

# su - username

Cosa vedi nei tuoi registri dopo un tentativo di connessione fallito? Su molti sistemi, sshd accederà a qualcosa /var/log/secureo /var/log/auth.log. Inoltre, noto che hai PasswordAuthenticationabilitato ma ChallengeResponseAuthenticationdisabilitato. Vedi lo stesso comportamento se attivi ChallengeResponseAuthentication?

Ecco alcuni passaggi diagnostici generali da utilizzare in caso di problemi ssh:

  • Abilita la diagnostica dettagliata in ssh:

    ssh -v host.example.com
    

    Ciò farà sì che il client emetta una varietà di messaggi diagnostici mentre negozia la connessione. Questo spesso fornirà un indizio sul problema.

  • Esegui il server in modalità debug.

    Sul tuo server, ferma sshd, quindi eseguilo dalla riga di comando in questo modo:

    /usr/sbin/sshd -d
    

    Ciò produrrà una registrazione dettagliata del debug stderrche conterrà molto spesso informazioni utili.

Se nessuno di questi ti aiuta a capire cosa sta succedendo, aggiungeresti l'output alla tua domanda?


Ok, ho aggiunto l'output. Fondamentalmente: quando trovo un login remoto, dice che la password non è buona, quando provo un login locale, dice che la password è ok e mi fa entrare.
skerit

2
E ' ERA la password. Ho cambiato la password tramite una console Web (alcune applicazioni Java) e anche se la password inserita era IDENTICA a ciò che ho digitato nella mia console putty, in qualche modo i valori ASCII devono essere diversi. L'ho cambiato in qualcosa di più semplice, ho effettuato il login nel modo corretto tramite putty e l'ho cambiato di nuovo. Ora funziona.
skerit

@skerit - probabilmente ha avuto un problema di codifica dei caratteri, allora - forse UTF8 vs ASCII?
Warren,

Sono contento di sentire che le cose stanno funzionando!
Larks

Ha avuto lo stesso problema di @skerit dopo aver effettuato una modifica della password dalla console Web di DigitalOcean.
Daniel
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.