Creare Chiavi SSH per l'Accesso Sicuro alle Istanze EC2 con Terraform
Quando si lavora con l'infrastruttura cloud, la sicurezza è della massima importanza. Un aspetto critico della sicurezza è il controllo degli accessi alle risorse cloud...

Quando si lavora con l'infrastruttura cloud, la sicurezza è della massima importanza. Un aspetto critico della sicurezza è il controllo degli accessi alle risorse cloud, e questo è particolarmente importante quando si lavora con le istanze AWS EC2. Le chiavi SSH sono un modo per proteggere l'accesso alle istanze EC2 e con Terraform è semplice creare e gestire queste chiavi.
Le chiavi SSH sono utilizzate per l'accesso sicuro a un'istanza EC2 e sono composte da due parti: una chiave pubblica e una chiave privata. La chiave pubblica viene caricata sull'istanza EC2 e la chiave privata viene utilizzata per autenticarsi con l'istanza. La chiave privata deve essere mantenuta al sicuro e non condivisa con nessun altro.
Terraform è uno strumento potente per gestire l'infrastruttura come codice e può essere utilizzato per creare e gestire le chiavi SSH per l'accesso sicuro alle istanze AWS EC2. Ecco come fare.
Per prima cosa, crea una coppia di chiavi SSH. Puoi farlo con il comando ssh-keygen sulla tua macchina locale. Per generare una coppia di chiavi RSA con una dimensione di 4096 bit, esegui il seguente comando:
ssh-keygen -t rsa -b 4096
Questo genererà una chiave pubblica e una chiave privata nella directory .ssh nella tua home directory. La chiave pubblica ha un'estensione .pub e deve essere caricata sull'istanza EC2.
Successivamente, crea un modulo Terraform per gestire la chiave SSH. Il modulo dovrebbe includere il seguente codice:
resource "aws_key_pair" "ssh_key" {
key_name = "ssh_key"
public_key = file("~/.ssh/id_rsa.pub")
}
Questo crea una risorsa key pair AWS con il nome "ssh_key" e carica la chiave pubblica dalla macchina locale su AWS. La funzione file() viene utilizzata per leggere il contenuto del file della chiave pubblica sulla macchina locale.
Il passo successivo è fare riferimento alla chiave SSH nella risorsa dell'istanza EC2. Questo può essere fatto con il parametro key_name nella risorsa aws_instance:
resource "aws_instance" "example" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
key_name = aws_key_pair.ssh_key.key_name
// altra configurazione dell’istanza
}
Questo crea un'istanza EC2 con l'AMI e il tipo di istanza specificati e associa la chiave SSH all'istanza utilizzando il parametro key_name. Il valore di aws_key_pair.ssh_key.key_name è un riferimento al nome della risorsa key pair creata nel passaggio precedente.
Infine, inizializza il modulo Terraform con terraform init e applica le modifiche con terraform apply. Terraform creerà la risorsa key pair SSH e la risorsa istanza EC2 con la chiave SSH associata.
Con questa configurazione, puoi ora accedere in modo sicuro all'istanza EC2 utilizzando la chiave privata generata in precedenza. Per farlo, usa il comando ssh sulla tua macchina locale:
ssh -i ~/.ssh/id_rsa ec2-user@<indirizzo_ip_pubblico_istanza>
Questo si connetterà all'istanza EC2 utilizzando la chiave privata e l'utente predefinito ec2-user. Sostituisci <indirizzo_ip_pubblico_istanza> con l'indirizzo IP pubblico dell'istanza EC2.
In sintesi, utilizzare le chiavi SSH per l'accesso sicuro alle istanze AWS EC2 è una parte cruciale della sicurezza dell'infrastruttura cloud. Con Terraform, è semplice creare e gestire queste chiavi come parte della tua infrastruttura come codice. Seguendo i passaggi descritti in questo articolo, puoi garantire un accesso sicuro alle tue istanze EC2 e proteggere la tua infrastruttura cloud.
Altro da Ercan
Altri due siti, stesso autore, terreno diverso.
IA, LLMs, agenti, ML applicato.
Note sul campo su workload IA. Analisi dei costi Bedrock, pattern di agenti, trade-off di storage vettoriale, failure mode in produzione.
Visita ercan.ai →L'hub. Chi sono, consulenza, contatti.
Hub personale per entrambe le tracce di scrittura. Chi sono, come funziona la consulenza, come contattarmi.
Visita ercanermis.com →