Pubblicato il 02/06/2022 da alnao nella categoria alnao.it

Per collegarsi ad una istanza EC2 bisogna usare una chiave di accesso, è possibile configuare la chiave in fase di creazione oppure è possibile caricare una chiave personalizzata. Come best-practices è consigliato generare una chiave privata per ogni istanza EC2 (oppure per ogni AMI) e poi aggiungere eventuali chiavi pubbliche dedicate per le singole persone abilitate all’accesso, così da avere una chiave di manutenzione per ogni istanza.

La creazione della chiave privata per l’istanza è un passo che avviene proprio in fase di definizione dell’istanza dove c’è un bottone specifico per la creazione della chiave, in questo modo è possibile scaricare il file pem della chiave, in questo caso si scarica la chiave privata quindi bisogna prestare attenzione a dove finisce il file visto che è l’unico momento in cui si può scaricare il file. Una volta avuta la chiave è possibile collegarsi all’istanza via ssh con il comando:

ssh ec2-user@<indirizzo-ip> -i /cartella/chiave-privata-ec2.pem

da notare che di default il protocollo SSH è aperto a tutti ma è possibile limitare l’accesso ad ip specifici tramite l’impostazione del Security Group direttamente nella console nel dettaglio dell’istanza. Inoltre bisogna tenere presente che di default le istanze NON hanno IP pubblico e per collegarsi bisogna usare la VPN-Client, a meno che non venga richiesto di creare un IP pubblico nei passi di creazione dell’istanza stessa. Grazie a questa chiave è possibile eseguire l’upload o il download di file all’interno dell’istanza grazie al comando SCP, per esempio:

scp -i /cartella/chiave-privata-ec2.pem /cartellaSorgente/file.txt ec2-user@10.199.1.164:/home/ec2-user/cartellaDestinazione

in questo comando si usa la chiave privata inviando un file da una sorgente locale ad una cartella destinazione remota. L’utente da usare per il collegamento può variare a seconda del tipo di AMI usata quando si avvia la EC2, di default è “ec2-user” per le AMI semplici mentre per quelle “proprietarie” è possibile che sia diverso, per esempio bitnami viene usato nelle istanze create proprio da bitnami. Per permettere il collegamento all’istanza con una chiave diversa da quella creata in fase di definizione dell’istanza, è possibile modificare il file

~/.ssh/authorized_keys

in questo file sono salvate le chiavi (rsa per esempio) abilitate all’utente. In questo file bisogna aggiungere una riga per ogni chiave con il tipo, il valore della chiave e il nome separti da uno spazio. Per precisione nel file authorized_keys si censiscono le chiavi pubbliche e NON le private che devono essere usate dal chiamante. E’ possibile consultare la documentazione ufficiale e la documentazione che descrive la gestione delle chiavi private.

Bisogna ricordare che i comandi ssh e scp sono disponibili per tutti i sistemi GNU Linux da qualsiasi Shell e per MS Windows solo usando la Power Console mentre non funziona nella console classica cmd.