ubuntu - por - permission denied(publickey) aws
¿Cómo configurar el acceso SSH para la instancia de Amazon EC2? (13)
1) Primero chmod
el .pem file
para restringir el archivo permissons como abajo
chmod 400 my-key-pair.pem
2) Luego ssh
con los siguientes comandos directamente desde la carpeta .ssh
ssh -i my-key-pair.pem [email protected]
Nota: - Para navegar en la carpeta .ssh
. Primero presione Ctrl + H
para mostrar todos los archivos ocultos y finalmente cd .ssh
Necesito acceso SSH a una instancia de Amazon EC2 con Ubuntu 10.4. Todo lo que obtuve es el nombre de usuario y la contraseña de Amazon. ¿Algunas ideas?
Acepté la oferta de AWS para usar los grupos de seguridad predeterminados que incluían los puertos ''All Trafic''.
Y, después de muchas y muchas veces tratando de conectarme a mi nueva instancia de ec2, ¡me di cuenta de que debería editar mi grupo de seguridad usado y agregar manualmente los 22 puertos (ssh) entrantes y salientes!
Espero eso ayude !
Básicamente, necesita un archivo de clave privada para iniciar sesión en su EC2 a través de SSH. Siga estos pasos para crear uno:
- Vaya a https://console.aws.amazon.com/ec2/home e https://console.aws.amazon.com/ec2/home sesión en su cuenta de Amazon existente.
- Haga clic en "Pares clave" en LHS o https://console.aws.amazon.com/ec2/home?region=us-east-1#s=KeyPairs .
- Debería ver la lista de KEYs generadas por usted (o durante el proceso de creación de EC2).
- Haga clic en "Crear par de claves" si no ve ninguno o si pierde su clave privada.
- Ingrese un nombre único y presione enter.
- Aparecerá un panel de descarga para que guarde la clave privada, guárdela.
- Guárdelo en algún lugar con el permiso de archivo "0600"
- Haga clic en "Instancias" en LHS o https://console.aws.amazon.com/ec2/home?region=us-east-1#s=Instances
- Debería ver la lista de instancias ec2, si no ve ninguna, cree una.
- Haga clic en la máquina EC2 y anote la dirección DNS pública.
- Abra su Terminal (en Linux) y escriba el siguiente comando
-
ssh -i /path/to/private-key root@<ec2-public-dns-address>
- el nombre de usuario raíz se ha evitado en las últimas versiones, según su distribución, seleccioneec2-user
oubuntu
como su nombre de usuario. - Presione enter
- Eso es.
-
Hacer lo que se sugiere en todas estas respuestas no es suficiente. Contra cada instancia ves un grupo de seguridad. Cuando lance una nueva instancia, tendrá esto establecido en el valor predeterminado. Debe editar el grupo de seguridad y agregar el puerto ssh. Más tarde, debe agregar los puertos 8080, 8443, 80, 443 también cuando desee alojar su sitio web.
No iniciar sesión como el usuario correcto para usted Distro OS podría ser el problema. Para ciertos nuevos AMI, el nombre de usuario no puede ser "ubuntu", sino "ec2-user". Para Amazon Linux, por ejemplo, creo que el usuario es "ec2-usuario". Eric Hammond da ejemplos aquí: http://alestic.com/2014/01/ec2-ssh-username
Mi sugerencia, prueba:
ssh -i /path/to/file.pem ec2-user@ec2...
ssh -i /path/to/file.pem ubuntu@ec2...
ssh -i /path/to/file.pem root@ec2...
Si tiene un AMI incorrecto, es posible que desee reiniciar la máquina por completo para que tenga uniformidad entre sus clústeres. Si este es su problema, probablemente querrá la misma distribución de sistema operativo al menos para sus linux boxes.
Para configurar Ubuntu en AWS, siga los siguientes pasos:
- Inicie sesión en Amazon Web Services y seleccione EC2 .
- Elija Lanzar instancia y siga al asistente seleccionando la imagen correcta (Ubuntu), tipo de instancia, configuración de la red VPC y subred, almacenamiento y permitiendo el acceso SSH en los grupos de seguridad . Entonces lanza .
- Por primera vez, probablemente necesite configurar el par de claves y asignarlo a la instancia. También puede crear pares de claves en Pares clave . Una vez creado, descargue el archivo PEM y guárdelo en un lugar seguro.
- Una vez que se inicia la instancia, espere hasta que la instancia se inicie y se ejecute .
Para acceder a la instancia a través de SSH, ejecute:
Conéctese a la caja Linux especificando su archivo PEM, ej.
ssh -i "file.pem" [email protected]
Asegúrese de que su archivo PEM tenga 600 permisos (
chmod 600 file.pem
).
Solución de problemas
Si está ejecutando una instancia de VPC, y su grupo de seguridad es correcto (con las reglas correctas) y aún no funciona, en la sección de VPC revise su subred que debe adjuntarse a su VPC (ambas utilizadas por su instancia) y configure nueva regla en la Tabla de rutas que tiene 0.0.0.0/0
como destino y su puerta de enlace de Internet como destino .
Para más detalles, consulte: Solución de problemas Conexión a su instancia
Consulte también: Posibles motivos de tiempo de espera al intentar acceder a la instancia de EC2
Primero cambie el permiso del archivo pem por
chmod 400 path/to/key_pair.pem
Dentro del archivo ~ / .ssh / config agrega las siguientes líneas, en la parte superior del archivo
Host AWS
Hostname myserver.com
User myuser
IdentityFile path/to/.pem/file
port 22
El nombre de host toma la IP o el enlace del servidor, el usuario toma el nombre de usuario del servidor y el archivo de identidad es el archivo descargado de AWS cuando creó la instancia. Simplemente ejecute el siguiente comando en la terminal
ssh AWS
¡y disfrútalo!
Nota : para navegar en la carpeta .ssh
. Primero presione Ctrl + H
en la carpeta de inicio para mostrar todos los archivos ocultos y finalmente cd .ssh
Primero debe crear un par de claves; hágalo con su consola EC2. Luego use su clave privada para SSH en el servidor (el nombre de usuario es ec2-user
) usando un cliente SSH de su elección.
Una vez dentro, puede emitir un sudo su -
para obtener la raíz si lo desea (nota: no puede iniciar sesión como root directamente).
Si está utilizando MacOS, debe crear / editar el archivo de configuración SSH (~ / .ssh / config) y poner algo como:
Host *.amazonaws.com
User ubuntu
Port 22
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
IdentityFile ~/PATH/YOUR_DOWNLOADED_KEY.pem
Luego, para conectarse a cualquiera de las instancias de EC2:
ssh MYNAME.amazonaws.com
¡Nada mas!
También tenía problemas para acceder a AWS a través de ssh.
Verifique estas cosas:
- asegúrese de que su clave de instancia, debe tener el permiso "0600".
- verifique su grupo de seguridad, el puerto 22 debe estar abierto. O puede abrir todo el tráfico de entrada, si no es una amenaza de seguridad.
- Edite las filas del grupo de seguridad con myIP y guárdelas.
Eso fue un truco para mí.
Tenga en cuenta que el usuario actual para 13.04 es "ubuntu" ssh -i ./mykey.pem [email protected]
PASO 1) Descargue las claves privadas asignadas a su máquina ec2 (que solo se descarga una vez cuando se creó, por lo que se recomienda realizarlas en algún lugar)
PASO 2) y ejecute comandos de fuego,
chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem [email protected]
Documento oficial : Conexión a sus instancias de Linux / Unix mediante SSH
ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>
solo use ubuntu
lugar de root
. Su problema será resuelto. ¡Aclamaciones!