Posso SSH nell'istanza del mio server Amazon EC2 se non ho un file .pem da quando è stata creata l'istanza?


10

Sto lavorando con alcuni server Amazon EC2 che sono attivi e in esecuzione e ho bisogno di SSH nei server. Non ho alcuna chiave generata quando i server sono stati configurati per la prima volta (qualcun altro lo ha fatto molto prima che arrivassi qui). Posso ancora accedere ai server senza i file delle chiavi?

FWIW Finora ho provato molte cose su SSH nella scatola, inclusa la generazione di nuove coppie di chiavi nel cruscotto EC2, e nulla sembra funzionare. Questo post di supporto Amazon AWS e questa risposta sembrano indicare che sono sfortunato a meno che non voglia creare un AMI del mio server corrente e quindi utilizzarlo per creare un'istanza di un'intera nuova istanza del server EC2 (solo per ottenere il file .pem generato a quel tempo). È davvero l'unico modo in cui posso entrare nella scatola a questo punto ?!

Risposte:


26

In breve: sì, puoi, ma non senza un po 'di lavoro.

Dovrai fare quanto segue:

(Per questi passaggi, supponi che la macchina a cui stai riscontrando problemi di connessione si chiami server-01.)

Innanzitutto, prima di iniziare questi passaggi, eseguire un'istantanea del server.

  1. Avvia una nuova istanza temporanea. Chiamalo server-02.
  2. Arresta server-01. Non terminarlo, basta fermarlo.
  3. /Scollega il volume EBS root ( ) dal server-01 e collegalo al server-02 come, diciamo /dev/sdb.
  4. Accedi al server 02, ed eseguire: $ mkdir /mnt/temp && mount /dev/sdb /mnt/temp. Questo monterà la partizione root del server-01 all'interno del server (temporaneo)-02.
  5. Ora dovresti essere in grado di: $ vi /home/<user>/.ssh/authorized_keyse copiare / incollare la tua chiave pubblica. Al termine, salva e chiudi il file.
  6. Ora esegui: $ cd / && umount /mnt/tempper smontare la partizione root del server-01 dal server-02.
  7. Ora, basta scollegare quel volume dal server-02, ricollegarlo al server-01 e quindi avviare il server-01. All'avvio, dovresti essere in grado di ripetere l'accesso.

2
Giusto per aggiungere a questa eccellente risposta, ho trovato questo post sul blog che spiega come farlo dalla riga di comando. alestic.com/2011/02/ec2-fix-ebs-root
Eric

0

Solo un consiglio prima che qualcuno cerchi la risposta dell'AEAA ,

Se non hai eseguito il comando iptables saveo iptables-saveper salvare le tue configurazioni, riavvia semplicemente il server. Citando questa risposta su AskUbuntu , ho imparato che iptablessalva le tue configurazioni nella RAM stessa a meno che tu non lo salvi esplicitamente nei file di configurazione.

Le istanze EC2 possono essere facilmente riavviate dal Dashboard EC2 o aws-cli


Umm, sembra una risposta a un'altra domanda erroneamente pubblicata qui. Non c'è nulla su firewall / iptables in questa domanda.
Kubanczyk,

Mio male, questa risposta è per quando tutto il traffico viene bloccato su un server se tutti gli indirizzi IP sono bloccati. Fammi sapere se deve essere rimosso.
Retr0,
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.