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.