AWS: ssh a instancia en subred privada

AWS: ssh a instancia en subred privada

Tengo2 instanciasenAWS. Uno de ellos en unsubred pública(bastión), el segundo en unsubred privada.

Ambos se lanzaron con el mismo par de claves (.pemarchivo).

Así es como me conecto al bastión:

ssh -i secret.pem ec2-user@public-ip

Funciona muy bien, estoy dentro.

Ahora quiero enviar la instancia a una subred privada. Buscar en Google dice que debería reenviar al agente:

ssh -A ubuntu@private-ip

Pero desafortunadamente me sale el error:

Permission denied (publickey).

¿Alguien puede explicar qué estoy haciendo mal y cómo realizar ssh en la instancia privada? (ping y grupos de seguridad están bien)

Respuesta1

Así es como lo haría:

En su propia computadora portátil, cree (o edite el archivo existente) ~/.ssh/config y agregue lo siguiente:

Host [host or ip of the bastion server]
    User ec2-user
    IdentityFile ~/.ssh/pem_file_required_to_connect_to_bastion

Host [host or ip of the bastion server]
    User ec2-user
    IdentityFile ~/.ssh/pem_file_required_to_connect_to_server
    ProxyCommand ssh ec2-user@CHOSEN_HOST -W %h:%p

Reemplace CHOSEN_HOST con el mismo host que configuró para el servidor bastión.

Ejemplo:

cat ~/.ssh/config
Host 3.126.138.136
    User ec2-user
    IdentityFile ~/.ssh/itaig.pem

Host 172.31.22.212
    User ec2-user
    IdentityFile ~/.ssh/itaig.pem
    ProxyCommand ssh [email protected] -W %h:%p

  ~/.ssh                                                                                                                                                                               at 02:40:57 PM 
ssh 172.31.22.212
Last login: Sun Aug  8 11:40:41 2021 from ip-172-31-29-253.eu-central-1.compute.internal

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
[ec2-user@ip-172-31-22-212 ~]$

información relacionada