Devi ssh da un server Amazon EC2 in un altro


12

Fondamentalmente devo essere in grado di connettermi da un'istanza EC2 a un'altra usando SSH. Eseguo il comando ssh -i path-to-pem-file ec2-user@dns-address-of-ec2-instancee scade.

Ho impostato il mio gruppo di sicurezza per consentire l'ingresso SSH dall'indirizzo IP pubblico della mia seconda istanza EC2, ma non funziona ancora. So che tutto dovrebbe andare bene perché quando imposto il traffico SSH in entrata su "consenti ovunque" posso collegarmi senza problemi. Inoltre posso collegarmi all'istanza EC2 da una macchina domestica (ho aggiunto il mio indirizzo IP al gruppo di sicurezza) senza problemi.

Ovviamente non posso lasciare il mio traffico in entrata aperto per "consentire da qualsiasi luogo", ma non riesco a collegarmi quando lo limito al solo indirizzo IP della seconda istanza EC2. Forse l'indirizzo IP pubblico non è quello che dovrei inserire nel gruppo di sicurezza?


Non riesco nemmeno a eseguire il ping; è appena scaduto. Ecco il risultato dissh -vv -i path-to-pem-file ec2-user@dns-address-of-ec2-instance

OpenSSH_6.2p2, OpenSSL 1.0.1h-fips 5 Jun 2014
debug1: Reading configuration data /home/ec2-user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 50: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to dns-address [IP Address different from public ip] port 22.
debug1: connect to address [IP Address different from public ip] port 22: Connection timed out
ssh: connect to host dns-address port 22: Connection timed out

Risposte:


13

Le istanze EC2 utilizzano un 10.X.X.Xindirizzo interno (o un altro indirizzo se si utilizza un VPC) e il traffico verso il loro indirizzo IP "pubblico" viene semplicemente reindirizzato all'indirizzo IP interno. Le istanze EC2 utilizzano anche un server DNS diverso che non è accessibile pubblicamente. Quando risolvi il nome host dell'altra istanza EC2, perché ti trovi all'interno della rete AWS , ti dà l' 10.X.X.Xindirizzo dell'istanza invece dell'indirizzo IP pubblico. Questo impedisce al traffico di dover uscire su Internet e rientrare, il che lo rende più veloce.

Anche se potresti inserire la whitelist in base all'indirizzo IP, questa non è una buona idea, come nella modalità classica EC2, sia il tuo indirizzo interno che quello pubblico possono cambiare. La soluzione corretta è la whitelist per gruppo di sicurezza. Fondamentalmente si aggiunge una regola al gruppo di sicurezza di destinazione che dice di consentire la porta 22 da un gruppo di sicurezza di origine specifico.

Se entrambe le istanze si trovano nello stesso account, si consente semplicemente sg-1234abcd(dov'è sg-1234abcdil gruppo di sicurezza di cui è membro l'istanza di origine). Se si trovano in account diversi, includere il numero di account, ad esempio 111122223333/sg-1234abcd.
Vedere la documentazione per ulteriori informazioni.


Perfetto, è esattamente quello che stavo cercando! Funziona senza intoppi!
Pompeo,

Quando si parla di gruppi di sicurezza di account diversi, è necessario eseguire il peering VPC in modo da poterli fare riferimento. Vedi qui: docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/…
Boris Strandjev il

Solo per completamento, volevo aggiungere che AWS ti addebita il traffico in entrata su un VPC da Internet, ma il traffico all'interno del VPC è gratuito, quindi non passare attraverso Internet non è solo più veloce ma anche più economico.
Blueriver,
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.