root bloccato da EC2


8

Stavo disabilitando gli accessi root su un'istanza di AWS EC2. Subito dopo aver impostato PermitRootLogin no e aver riavviato sshd, ho chiuso il terminale per caso - prima di configurare utenti con privilegi sudo. Il risultato è che la mia chiave per accedere all'istanza come root non funziona (sshd lo proibisce) e quando accedo all'istanza usando il mio utente normale non riesco ad ottenere i privilegi di root (la password di root non è mai stata impostata). L'istanza esegue Ubuntu 8.10. Qualcuno ha idea di come posso risolvere questo problema?

Risposte:


9

No, non terminare l'istanza, non tutto è perduto !!

  1. avviare un'altra istanza e chiudere l'istanza non valida.
  2. staccare il volume EBS dalla cattiva istanza e collegarlo alla nuova istanza.
  3. Montalo nella nuova istanza (cioè qualcosa come sudo mount / dev / xvdf1 / mnt /)
  4. chroot in esso (sudo chroot / mnt) e digitare passwd.
  5. reimpostare la password o apportare qualsiasi altra modifica desiderata (vi / etc / ssh / sshd_config, ad esempio!)
  6. Premi control-D o digita exit per uscire dal chroot.
  7. umount / mnt
  8. staccare il volume EBS dall'istanza temporanea
  9. ricollegare o eseguire uno snap e creare un nuovo AMI basato su quell'istantanea
  10. Avvia il backup della scatola fissa!

PS la prossima volta prova Userify per gestire le chiavi dei tuoi utenti :)


1
Nota: questo non funzionerà se hai lanciato l'istanza dal marketplace AWS (quelle istanze non possono avere i loro volumi root montati altrove). Ciò include alcune distribuzioni open source come CentOS.
fatal_error

3

Senza trovare una vulnerabilità, l'unico modo per ottenere l'accesso root su una macchina Linux è avviare in modalità utente singolo e reimpostare la password. Tuttavia, non hai accesso a livello KVM su un'istanza EC2, quindi questo non è possibile.

Dovrai terminare quell'istanza EC2 e avviarne un'altra. Ma disabilitare gli accessi root è contro il paradigma generale di EC2. Amazon suggerisce di fornire una chiave pubblica al momento del lancio dell'istanza e di installare uno script di inizializzazione in /root/.ssh/authorized_keys, con sshd configurato su 'PermitRootLogin senza password' per forzare solo gli accessi alla keypair. In questo modo non potrai mai accidentalmente bloccarti fuori dal tuo account di root (a condizione che non perdi la tua chiave privata).

In futuro, ti suggerisco di creare un utente con accesso sudo e quindi avviare una sessione 'schermo' non appena esegui l'accesso in modo che una disconnessione non interrompa / interrompa il tuo lavoro. Dopo aver configurato e installato la tua app, raggruppa, carica e raggruppa la tua AMI in modo da poter avviare nuove istanze quando richiesto.


+1 per il suggerimento sullo schermo, anche se preferisco tmux .
h0tw1r3,

In questo caso, la soluzione di seguito: il montaggio del volume EBS funzionerebbe, supponendo che l'istanza abbia un EBS.
AliGibbs

1

Hai un AMI salvato con qualsiasi modifica apportata alla tua istanza prima di disabilitare gli accessi root? In caso contrario, dovrai tornare all'AMI di base con cui hai iniziato e creare una nuova istanza EC2.


-1

Un modo per farlo è trovare le vulnerabilità locali nel tuo sistema che possono concederti una shell di root. Ottieni l'elenco dei software installati nella confezione e google / securityfocus ciascuno di essi.

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.