Pregunta:
Intenté usar SSH en mi servidor de AWS Ubuntu y copiar el directorio en mi máquina local. A lo largo del proceso, experimento diferentes errores de permisos de archivos (que se indican a continuación).
¿Se necesita un permiso de archivo específico para el archivo .pem que me permita SSH y SCP?
¿O necesito cambiar el permiso del archivo dos veces, una para SSH y otra para SCP después de iniciar sesión?
Estos son los comandos que estoy usando:
SSH:
ssh -i sentiment.pem Todo@54.555.555.555
Copie desde una computadora remota a local con:
scp Todo@54.555.555.555:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Estoy en Mac OS X 10.7.5.
Prueba y error:
-
Después de descargar inicialmente el archivo .pem, sus permisos se establecieron en, CREO: 0644
-rw-r--r--@ 1 Toga staff 1692 Feb 18 21:27 sentiment.pem
Luego intenté SSH a través de la terminal y recibí lo siguiente:
WARNING: UNPROTECTED PRIVATE KEY FILE! Permissions 0644 for 'sentiment.pem' are too open. It is recommended that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore key: sentiment.pem Permission denied (publickey).
-
Actualicé los permisos del archivo a:
chmod 660 sentiment.pem
Después de la actualización, los permisos se establecieron en:
-rw-rw----@ 1 Toga staff 1692 Feb 18 21:27 sentiment.pem
Luego intenté SSH a través de la terminal y recibí lo siguiente:
WARNING: UNPROTECTED PRIVATE KEY FILE! Permissions 0660 for 'sentiment.pem' are too open. It is recommended that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore key: sentiment.pem Permission denied (publickey).
-
Actualicé los permisos del archivo a:
chmod 600 sentiment.pem
Después de la actualización, los permisos se establecieron en:
-rw-------@ 1 Toga staff 1692 Feb 18 21:27 sentiment.pem
¡Luego intenté SSH a través de la terminal y tuve éxito!
-
Ahora que he iniciado sesión, ejecuto el comando a para copiar el directorio remoto a mi computadora local con:
scp Todo@54.555.555.555:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Que devuelve:
Permission denied (publickey).
Comandos SCP intentados:
-
agregó la opción
-i
y hizo referencia al archivo.pem
:scp -i sentiment.pem Todo@54.555.555.555:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
-
agregó la opción
-i
, hizo referencia al archivo.pem
y cambió el usuario de AWS aec2-user
:scp -i sentiment.pem ec2-user@54.555.555.555:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
-
agregó la opción
-i
, hizo referencia al archivo.pem
, cambió el usuario de AWS aec2-user
y agregó la ruta completa del archivo para la ubicación del archivo.pem
:scp -i /Users/Toga/Desktop/rollup/Personal/Serial_Project_Starter/sentiment/sentiment.pem ec2-user@54.555.555.555:/home/ubuntu/sentiment /Users/Toga/Desktop/sentimentlocal
Respuesta:
Visite aquí Cómo conectarse a Amazon EC2 de forma remota mediante SSH o consulte a continuación.
Cómo conectarse a Amazon EC2 de forma remota mediante SSH:
- Descargue el archivo .pem.
- En Amazon Dashboard, elija "Instancias" en la barra lateral izquierda y luego seleccione la instancia a la que le gustaría conectarse.
- Haga clic en "Acciones", luego seleccione "Conectar"
- Haga clic en "Conectar con un cliente SSH independiente"
- Abre una ventana de Terminal
-
Crea un directorio:
# mkdir -p ~/.ssh
-
Mueva el archivo .pem descargado al directorio .ssh que acabamos de crear:
# mv ~/Downloads/ec2private.pem ~/.ssh
-
Cambie los permisos del archivo .pem para que solo el usuario root pueda leerlo:
# chmod 400 ~/.ssh/ec2private.pem
-
Crea un archivo de configuración:
# vim ~/.ssh/config
Ingrese el siguiente texto en ese archivo de configuración:
Host *amazonaws.com IdentityFile ~/.ssh/ec2private.pem User ec2-user
Guarde ese archivo.
-
Utilice el comando ssh con su nombre de host DNS público para conectarse a su instancia.
p.ej:# ssh ec2-54-23-23-23-34.example.amazonaws.com