Conéctese al directorio de archivos de Amazon EC2 utilizando Filezilla y SFTP

Creé una instancia de AWS EC2 y deseo poder subir archivos al directorio del servidor usando FileZilla de la forma más simple y directa posible.

Creé un video tutorial para este solo control.

Conéctese al directorio de archivos de Amazon EC2 con FileZilla y SFTP, Video Tutorial

Resumen del video tutorial anterior:

  1. Editar (Preferencias)> Configuración> Conexión> SFTP, haga clic en “Agregar archivo de clave”
  2. Busque la ubicación de su archivo .pem y selecciónelo.
  3. Aparecerá un cuadro de mensaje que le pedirá permiso para convertir el archivo en formato ppk. Haga clic en Sí, luego asigne un nombre al archivo y guárdelo en algún lugar.
  4. Si el nuevo archivo se muestra en la lista de Keyfiles, continúe con el próximo paso. De lo contrario, haga clic en “Add keyfile …” y seleccione el archivo convertido.
  5. Archivo> Administrador del sitio Agregue un nuevo sitio con los siguientes parámetros:

    Host : el nombre de su DNS público de la instancia de ec2 o la dirección IP pública del servidor

    Protocolo : SFTP

    Tipo de inicio de sesión : Normal

    Usuario : De los documentos : “Para Amazon Linux, el nombre de usuario predeterminado es ec2-user . Para RHEL5, el nombre de usuario a menudo es root pero podría ser usuario ec2. Para Ubuntu, el nombre de usuario es ubuntu . Para SUSE Linux, el el nombre de usuario es root . Para Debian, el nombre de usuario es admin . De lo contrario, verifique con su proveedor de AMI “.

    Presione el botón Conectar: ​​si se ha desactivado el almacenamiento de contraseñas, se le indicará que el tipo de inicio de sesión cambiará a ‘Solicitar contraseña’. Diga ‘OK’ y cuando se conecte, en el indicador de contraseña presione ‘OK’ sin ingresar una contraseña para continuar más allá del diálogo.

    Nota: FileZilla calcula automáticamente qué tecla usar. No necesita especificar la clave después de importarla como se describe arriba.

Si usa Cyberduck, siga esto .

Verifique esta publicación si tiene algún problema de permiso.

Si alguien sigue todos los pasos y no tiene éxito, asegúrese de estar utilizando el usuario correcto. Estaba intentando usar “ec2-user” pero necesitaba usar “ubuntu”.

Asegúrate de usar el puerto 22. Filezilla usará de forma predeterminada el puerto 21 para SFTP.

Esto es muy simple si pem file tu pem file (estoy usando MacOS / usuario de Windows puede seguir los mismos pasos).

  1. Simplemente descargue su FileZilla (estoy usando MacOS, y descargué la versión gratuita, eso es suficiente)

enter image description here

  1. Abra el Administrador del sitio en FileZilla (⌘S) -> Nuevo sitio

enter image description here

  1. Pon tu nombre de host en el campo de Host .

Ejemplo: eca-**-**-**-111.ap-southwest-9.compute.amazonaws.com

  • Seleccione Protocolo como SFTP – Protocolo de transferencia de archivos SSH

  • Seleccione el tipo de inicio de sesión como archivo clave

  • Pon tu nombre de usuario en el campo Usuario : para mí es ubuntu ( encuentra a tu usuario ssh )

Nota:

OS vs nombre de usuario

Amazon – ec2-usuario

Centos – centos

Debian: administrador o raíz

Fedora – ec2-usuario

RHEL – ec2-usuario o raíz

SUSE – ec2-usuario o raíz

Ubuntu – ubuntu o raíz

  1. Para el campo del archivo clave, explore su archivo pem: y haga clic en Conectar

enter image description here

  1. Eso es todo 🙂 diviértete!

Nota:

(Recuerde permitir la conexión SSH a su dirección IP desde EC2) ¡ De lo contrario, recibirá el mensaje de error de conexión!

Nota: Permitir que su IP conecte su instancia de aws a través de SFTP

EC2 -> SecurityGroups -> SSH -> Reglas de entrada -> Editar -> Agregar regla (SSH | TCP | 22 | Mi IP (es obtener ip automáticamente | nombre de la regla) -> Guardar

Solo una nota menor a la respuesta aceptada y bien explicada de Yasitha Chinthaka:

Nota: FileZilla calcula automáticamente qué tecla usar. No necesita especificar la clave después de importarla como se describe arriba.

En mi caso, ya tenía otros 5 ppks de otras instancias que estaba usando en el pasado (con el ppk de la nueva instancia al final de la lista). Agregué el nuevo ppk de mi nueva instancia, y no me permitió conectarme a él. El mensaje de error: demasiados bashs / bashs.

Después de eliminar los archivos ppx no utilizados, finalmente pude iniciar sesión en la instancia.

Entonces, no, Filezilla no es tan inteligente 😉

Puede usar cualquier cliente FTP. Yo uso winscp y funciona muy bien. En todos estos clientes; puede especificar la clave de seguridad ssh.

FileZilla no funcionó para mí, seguí recibiendo este error:

 Disconnected: No supported authentication methods available (server sent: publickey) 

Lo que funcionó fue el comando sftp .

Conéctese con la instancia EC2 con

 sftp -i "path/to/key.pem" ec2-user@ec2-54-212-34-84.us-west-2.compute.amazonaws.com 

Descargar archivos / directorios

Para descargar path/to/source/file.txt y path/to/source/dir :

 lcd ~/Desktop cd path/to/source get file.txt get -r dir 

Subiendo archivos / directorios

Para cargar localpath/to/source/file.txt y ~/localpath/to/source/dir a remotepath/to/dest :

 lcd localpath/to/source cd remotepath/to/dest put file.txt put -r dir 

Una vieja pregunta, pero lo que encontré es que todo lo que necesitas es agregar el archivo ppk. Configuración -> Conexiones -> SFTP -> Agregar archivo de clave El nombre de usuario y el host son los mismos que los que proporcionaría al usar masilla, que se menciona en http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2- connect-to-instance-linux.html Podría ayudar a alguien.

En mi caso, Filezilla envía el archivo ppk de AWS a cada otro servidor FTP al que bash conectarme de forma segura.

Eso es una locura Hay una solución como se describe a continuación, pero es fea.

No se comporta bien como señaló @Lucio M.

De esta discusión: https://forum.filezilla-project.org/viewtopic.php?t=30605

n0lqu:

Convenido. Sin embargo, dado que no puedo controlar el funcionamiento del servidor, ¿hay alguna forma de especificar dentro de FileZilla que un sitio debe autenticarse con una contraseña en lugar de una clave, o viceversa? O dígale que intente primero con la contraseña, luego, ¿solo ingresa la clave si falla la contraseña? Me parece que primero está intentando la clave, y luego no tiene la oportunidad de probar la contraseña.

botg (administrador de Filezilla) respondió:

No hay tal opción.

n0lqu:

¿Podría agregarse tal opción, o hay algunas soluciones alternativas que cualquiera pueda recomendar? En este momento, la única solución que conozco es eliminar la clave de las preferencias generales, agregarla nuevamente solo cuando se conecte al sitio específico que lo requiere, y luego eliminarla de nuevo cuando haya terminado para que no ensucie otros sitios.

botg:

En este momento podría tener dos instancias de FileZilla con directorios de configuración separados (por ejemplo, uno instalado y uno portátil).

timboskratch:

Hoy tuve el mismo problema y logré resolverlo cambiando el “tipo de inicio de sesión” de la conexión mediante una contraseña en el administrador del sitio. En lugar de “Normal”, pude seleccionar “Interactivo” o “Solicitar contraseña” (no estoy seguro de cuál es la diferencia) y luego, cuando traté de volver a conectarme al sitio, me dio un aviso para ingresar mi contraseña y luego me conecté exitosamente. No es ideal, ya que significa que debe recordar y volver a escribir su contraseña cada vez que se conecta, pero es mejor que tener que instalar 2 instancias de FileZilla. Estoy totalmente de acuerdo en que sería muy útil en el Administrador del sitio tener opciones completas de cómo te gustaría que FileZilla se conecte a cada sitio que está configurado (ya sea para usar una contraseña, clave, etc.) Espero que esto sea útil. Tim

También vea: https://forum.filezilla-project.org/viewtopic.php?t=34676

Así parece:

Para múltiples sitios FTP con claves / contraseñas, use varias instalaciones de Filezilla, O use la misma clave ppk para todos los servidores.

Ojalá hubiera una forma de decirle a FileZilla qué ppk es para qué sitio en Site Manger

el más simple y directo es crear un inicio de sesión de FTP. Aquí hay un sitio tutorial pequeño y fácil de entender sobre stackoverflow, cómo configurar cosas en 2 minutos … Configuración de FTP en Amazon Cloud Server

En primer lugar, Filezilla es un cliente / servidor FTP / SFTP. Tendremos que usar el cliente para este propósito.

1) Descargue el cliente de la URL: https://filezilla-project.org/

2) Vaya a la consola de administración de AWS y luego a EC2. Seleccione la instancia a la que desea acceder y luego copie el DNS o la dirección IP de la instancia y luego péguelo en el nombre de host de Filezilla.

Seguir imagen: acceso de instancia de Amazon a través de FileZilla

3) Luego, ingrese el nombre de usuario para la instancia que ha creado, para Amazon-ami será ec2-user y para otro sistema operativo sería diferente. Luego, ingrese la contraseña y el puerto que serán 21 o 22.

4) Luego, pedirá la clave, que está en formato de pem, simplemente seleccione el archivo .pem y luego confirmará la autenticación. Haga clic en Sí y luego estará listo.

Nota: En su grupo de seguridad EC2, permita el número de puerto 21 y 22, cualquiera que sea el requerido para el acceso FTP.

todo lo que tiene que hacer es: 1. abrir el administrador del sitio en filezilla 2. agregar el nuevo sitio 3. dar la dirección del host y el puerto si el puerto no es el predeterminado 4. tipo de comunnication: SFTP 5. archivo de clave del tipo de sesión 6. poner nombre de usuario 7. elija el directorio de archivos clave, pero tenga cuidado con el explorador de archivos de Windows, busque el archivo ppk de forma predeterminada, elija todos los archivos en el menú desplegable, luego elija su archivo de pem y estará listo.

dado que agrega un sitio nuevo y lo configura la próxima vez cuando desea conectarse, simplemente elija su sitio guardado y conéctese. Eso es.

https://www.cloudjojo.com/how-to-connect-ec2-machine-with-ftp/

  1. Primero tiene que instalar algún servidor ftp en su máquina ec2 como vsftpd.
  2. Configure el archivo de configuración vsftpd para permitir escrituras y abrir puertos.
  3. Crear usuario para el cliente ftp.
  4. Conéctese con el cliente ftp como filezilla.

Asegúrese de abrir el puerto 21 en el grupo de seguridad de aws.