GNU/Linux >> Linux Esercitazione >  >> Linux

Perché ricevo l'autorizzazione negata (chiave pubblica) quando provo a eseguire l'SSH da Ubuntu locale a un server Amazon EC2?

Soluzione 1:

La prima cosa da fare in questa situazione è usare il -v opzione a ssh , in modo da poter vedere quali tipi di autenticazione vengono provati e qual è il risultato. Questo aiuta a chiarire la situazione?

Nel tuo aggiornamento alla tua domanda, menzioni "su un altro Ubuntu locale". Hai copiato la chiave privata ssh sull'altra macchina?

Soluzione 2:

Poiché non è stato menzionato esplicitamente, sshd è per impostazione predefinita molto severo sui permessi per authorized_keys File. Quindi, se authorized_keys è scrivibile per chiunque non sia l'utente o può essere reso scrivibile da chiunque non sia l'utente, rifiuterà l'autenticazione (a meno che sshd non sia configurato con StrictModes no )

Quello che intendo per "può essere reso scrivibile" è che se una qualsiasi delle directory padre è scrivibile per chiunque non sia l'utente, gli utenti autorizzati a modificare tali directory possono iniziare a modificare i permessi in modo tale da poter modificare/sostituire le chiavi_autorizzate.

Inoltre, se /home/username/.ssh la directory non è di proprietà dell'utente, e quindi l'utente non ha i permessi per leggere la chiave, potresti incorrere in problemi:

drwxr-xr-x 7 jane jane 4096 Jan 22 02:10 /home/jane
drwx------ 2 root root 4096 Jan 22 03:28 /home/jane/.ssh

Nota che jane non possiede il .ssh file. Risolvi questo problema tramite

chown -R jane:jane /home/jane/.ssh

Questi tipi di problemi di autorizzazione del filesystem non verranno visualizzati con ssh -v e non verranno nemmeno visualizzati nei log di sshd (!) finché non imposti il ​​livello di log su DEBUG.

  • Modifica /etc/ssh/sshd_config . Vuoi una riga che legga LogLevel DEBUG lì da qualche parte. Ricarica il server SSH utilizzando il meccanismo fornito dalla distribuzione. (service sshd reload su RHEL/CentOS/Scientific.) Un normale ricaricamento non eliminerà le sessioni esistenti.
  • Riprova ad autenticarti.
  • Scopri dove vanno i log della tua struttura di autenticazione e leggili. (IIRC, /var/log/auth.log su distribuzioni basate su Debian; /var/log/secure su RHEL/CentOS/Scientific.)

Molto più facile capire cosa non va nell'output di debug che include errori di autorizzazione del filesystem. Ricorda di ripristinare la modifica a /etc/ssh/sshd_config al termine!

Soluzione 3:

Ho ricevuto questo errore perché ho dimenticato di aggiungere -l opzione. Il mio nome utente locale non era lo stesso del sistema remoto.

Questo non risponde alla tua domanda, ma sono arrivato qui cercando una risposta al mio problema.

Soluzione 4:

Ho ricevuto questo messaggio su una nuova istanza basata sull'AMI di Ubuntu. Stavo usando l'opzione -i per fornire il PEM ma mostrava ancora "Autorizzazione negata (chiave pubblica)".

Il mio problema era che non stavo usando l'utente corretto. Eseguendo ssh con [email protected] ha funzionato normalmente.

Soluzione 5:

Qualcosa che è più facile da leggere di ssh -v (secondo me ovviamente), è tail -f /var/log/auth.log . Dovrebbe essere eseguito sul server a cui stai tentando di connetterti, mentre tenti di connetterti. Mostrerà gli errori in testo semplice.

Questo mi ha aiutato a risolvere il mio problema:

Utente [username] da xx.yy.com non autorizzato perché nessuno dei gruppi di utenti è elencato in AllowGroups


Linux
  1. Errore "530:autorizzazione negata" quando l'utente accede al server vsftpd tramite ftp

  2. Autorizzazione AWS Lambda negata durante il tentativo di utilizzare ffmpeg

  3. Autorizzazione docker.sock negata

  4. Perché il mio accesso SSH è lento?

  5. Amazon Linux vs. Ubuntu per Amazon EC2

Come aggiornare il server Ubuntu a 20.04 dal 18.04

Procedura:configurazione iniziale del server Ubuntu 15.04

Configurazione iniziale del server con Ubuntu 18.04

Come abilitare l'utente root nel server Ubuntu?

Effettua il provisioning delle risorse cloud durante la migrazione da Amazon Web Services

Come posso ottenere messaggi di registro dal server LAMP su Ubuntu 10.04?