Introduzione
L'errore Autorizzazione SSH negata viene visualizzato dopo la modifica delle impostazioni relative alle autorizzazioni sul server SSH. Gli scenari usuali includono l'installazione di un nuovo pacchetto o la creazione di nuovi utenti.
In questo tutorial imparerai come risolvere l'errore di autorizzazione SSH negata e riconnetterti al tuo server SSH.
Prerequisiti
- Client SSH sulla macchina locale e server SSH sul sistema remoto
- Un account utente per accedere al server remoto (per l'accesso basato su password)
- Un account utente con sudo o root privilegi
Cosa sta causando la negazione dell'autorizzazione SSH (publickey,gssapi-keyex,gssapi-with-mic)?
L'errore di autorizzazione SSH negata viene visualizzato quando si tenta di accedere a un server SSH:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
Dopo l'istruzione Permesso negato, la parentesi contiene i metodi di autenticazione tentati che non sono riusciti all'inizio della connessione. L'errore suggerisce che il problema è la chiave pubblica, il che è fuorviante.
Uno dei motivi dell'errore potrebbe essere sshd_config
, il file che contiene la configurazione del server SSH. L'altra possibilità è che le authorized_keys
il file ha autorizzazioni insufficienti. Questo file contiene l'elenco delle chiavi pubbliche per i client autorizzati a SSH nel server. Di conseguenza, l'impossibilità del sistema di leggere il file provoca l'errore Autorizzazione negata.
Come correggere l'autorizzazione SSH negata
Entrambe le soluzioni contengono passaggi che è necessario eseguire sul lato server. Inizia aprendo il terminale sul tuo server e procedi con una delle soluzioni seguenti.
Soluzione 1:abilita l'autenticazione della password
Se desideri utilizzare una password per accedere al server SSH, una soluzione per correggere l'errore di autorizzazione negata è abilitare l'accesso con password in sshd_config
file.
Per fare ciò, apri il file in un editor di testo. Questo esempio usa l'editor nano:
sudo nano /etc/ssh/sshd_config
Nel file, trova il PasswordAuthentication
riga e assicurati che termini con yes
.
Trova il ChallengeResponseAuthentication
opzione e disabilitala aggiungendo no
.
Se le righe sono commentate, rimuovi il segno cancelletto #
per decommentarle.
Salva il file ed esci.
Riavvia il servizio SSH digitando il seguente comando:
sudo systemctl restart sshd
Soluzione 2:modificare le autorizzazioni del file system
L'utilizzo dell'accesso basato su password come metodo di autenticazione SSH non è consigliato per motivi di sicurezza. Pertanto, la soluzione seguente potrebbe essere preferibile poiché risolve i problemi del metodo di autenticazione della chiave pubblica.
Innanzitutto, apri sshd_config
file utilizzando un editor di testo:
sudo nano /etc/ssh/sshd_config
Nel file, assicurati che le seguenti opzioni siano impostate come segue:
PermitRootLogin no
PubkeyAuthentication yes
Commenta le opzioni relative a GSSAPI aggiungendo il segno hash all'inizio della riga:
#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no
Inoltre, assicurati che il UsePAM
la riga è impostata su yes
:
UsePAM yes
Salva il file e riavvia il servizio sshd:
systemctl restart sshd
Ora vai alla tua cartella Inizio e controlla i permessi:
ls -ld
Se le tue autorizzazioni di proprietario non sono impostate per leggere, scrivere ed eseguire (drwx------
), usa il comando chmod per cambiarli:
chmod 0700 /home/[your-username]
Ora vai al .ssh
cartella e ricontrolla i permessi:
ls -ld
Questa directory dovrebbe anche avere i permessi di lettura, scrittura ed esecuzione per il proprietario del file. Per applicarli, usa chmod
ancora:
chmod 0700 /home/your_home/.ssh
Il .ssh
la cartella contiene le authorized_keys
file. Controlla i suoi permessi con:
ls -ld authorized_keys
Il proprietario del file dovrebbe avere i permessi di lettura e scrittura. Per impostarli, usa:
chmod 0600 /home/[username]/.ssh/authorized_keys
Ora prova ad accedere di nuovo con la coppia di chiavi. L'output seguente mostra un tentativo di accesso riuscito.