He intentado SSH en mi servidor AWS Ubuntu y copiar el directorio a 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 utilizar SSH y SCP?
¿O necesito cambiar el permiso de archivo dos veces, una para SSH y otra para SCP después de iniciar sesión?
Aquí están los comandos que estoy usando:
SSH:
ssh -i sentiment.pem [email protected]
Copie de la computadora remota a la local con:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Estoy en una Mac OS X 10.7.5.
Prueba y error:
1.) Después de descargar inicialmente el archivo .pem, sus permisos se establecieron en, PIENSO: 0644
-rw-r - r - @ 1 personal de Toga 1692 18 de febrero 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).
2.) Actualicé los permisos del archivo a: chmod 660 sentiment.pem
Después de la actualización, los permisos se establecieron en:
-rw-rw ---- @ 1 personal de Toga 1692 18 de febrero 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).
3.) Actualicé los permisos del archivo a: chmod 600 sentiment.pem
Después de la actualización, los permisos se establecieron en:
-rw ------- @ 1 personal de Toga 1692 18 de febrero 21:27 sentiment.pem
¡Entonces intenté SSH a través de la terminal y tuve éxito!
4.) Ahora conectado, ejecuto un comando para copiar el directorio remoto a mi computadora local con:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Que devuelve:
Permission denied (publickey).
Comandos de SCP intentados:
1.) agregó el comando -i y hizo referencia al archivo .pem:
scp -i sentiment.pem [email protected]: / home / ubuntu / sentimentfolder / Users / Toga / Desktop / sentimentlocal
2.) agregó el comando -i, hizo referencia al archivo .pem y cambió el usuario de AWS a ec2-user:
scp -i sentiment.pem [email protected]: / home / ubuntu / sentimentfolder / Users / Toga / Desktop / sentimentlocal
3.) agregó el comando -i, hizo referencia al archivo .pem, cambió el usuario de AWS a ec2-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 [email protected]: / home / ubuntu / sentiment / Users / Toga / Desktop / sentimentlocal
fuente
Respuestas:
Visite aquí Cómo conectarse a Amazon EC2 de forma remota utilizando SSH o consulte a continuación.
Cómo conectarse a Amazon EC2 de forma remota mediante SSH:
Crea un directorio:
Mueva el archivo .pem descargado al directorio .ssh que acabamos de crear:
Cambie los permisos del archivo .pem para que solo el usuario root pueda leerlo:
Crea un archivo de configuración:
Ingrese el siguiente texto en ese archivo de configuración:
Guarda ese archivo.
Use el comando ssh con su nombre de host DNS público para conectarse a su instancia.
p.ej:
fuente
scp -r
.chmod 400 {keyfile}.pem
es lo que amazon instruyó y funciona.fuente
Parece que no debes usar la dirección IP, sino el nombre completo del sistema en el comando SCP. Los documentos de AWS describen esto en http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html en la sección "Transferencia de archivos a instancias Linux / Unix desde Linux / Unix con SCP".
Y usar
-r
para copiar directorios.Y tenga en cuenta que el nombre de usuario predeterminado es diferente para diferentes imágenes:
Entonces, use este comando:
fuente
El "Permiso denegado (clave pública)" proviene del servidor remoto, por lo que está utilizando la clave incorrecta, no está permitido conectarse o hay un error tipográfico en el archivo remote_keys remoto.
fuente
y
fuente
ssh
comando (y también proporcione una referencia, si es posible). Por cierto, elchmod 400
fue proporcionado en una respuesta hace nueve meses.