Cómo Acceder por FTP a Google Cloud

En este tutorial, aprenderemos Cómo Acceder por FTP (SFTP) a Google Cloud con FileZilla para administrar de forma remota nuestros archivos en GCP.

Este tutorial esta hecho para conectarnos por SFTP a nuestras instancias en Google Cloud.

La configuración de un cliente  FTP o SFTP como FileZilla es una forma rápida y fácil de administrar de forma remota los archivos de nuestro sitio web.

Recuerda Suscribirte a nuestro canal de YouTube, para estar siempre al tanto de los últimos tutoriales.

Antes de comenzar con este tutorial, ya debes tener una cuenta activa en Google Cloud Platform y haber creado al menos una Máquina Virtual o VM Instance dentro de Compute Engine de GCP.

Si aun no cuentas con una cuenta en Google Cloud te recomendamos ver el tutorial de Cómo Instalar WordPress en Google Cloud version Bitnami.

Descargar e Instalar Filezilla y PuTTY

El primer paso en este tutorial es descargar FileZilla y PuTTY

Para instalar Filezilla vamos ingresar filezilla-project.org y damos clic en Download FileZille Client.

Una vez descargado vamos iniciar el proceso de instalación.

FileZilla es un software gratis para el manejo de FTP, que usaremos para administrar de manera segura los archivos de nuestro sitio web en Google Cloud directamente desde nuestro computador.

Ahora debemos descargar Putty para esto vamos a ingresar a putty.org. y damos clic para descargar el archivo, seleccionaremos la version de acuerdo a nuestro computador.

Putty es un generador de SSH Keys para Windows. Lo utilizaremos para generar una clave privada y una pública para cifrar la conexión entre nuestra Instancia en Google Cloud y FileZilla.

Una vez descargado procederemos a instalarlo.

Generar, Copiar y Guardar las SSH KEYS

Una vez tengamos instalado FileZilla y PuTTY, vamos a abrir PuTTY Key Generator y vamos a dar clic en el botón «Generate», y moveremos el cursor debajo de la barra de progreso para generar los archivos SSH Keys.

Generar SSH Keys PuTTY
Generar SSH Keys PuTTY

Una vez generadas las SSH Keys vamos a copiar la clave pública y guardar la clave privada.

Copiaremos el texto de la clave pública del cuadro superior y descargamos la clave privada  haciendo clic en el botón «Save private key».

Copiar Public SSH Key y Guardar Private Key PuTTY
Copiar Public SSH Key y Guardar Private Key PuTTY

Nota: Recuerda que el campo de Key comment corresponde a nuestro usuario podemos dejarlo por defecto el que viene o cambiarlo por nuestro usuario en GCP.

Configurar Public Key en Google Cloud

Ahora vamos ingresar nuestra consola en Google Cloud para esto vamos a ir console.cloud.google.com y desde el Menú de navegación ubicado en la parte superior izquierda vamos a buscar Compute Engine > y damos clic en Metadata > y ahora daremos clic en SSH Keys. 

Ahora daremos clic en Add SSH Keys.

Agregar Public SSH Key Compute Engine Metadata Google Cloud
Agregar Public SSH Key Compute Engine Metadata Google Cloud

Ahora pegaremos nuestra clave pública que previamente hemos copiado de Putty Key Generator . Una vez copiada nos asignar nuestro usuario ahora damos clic en “Save” y esperaremos que se guarde nuestra clave pública.

Guardar Public Key SSH Key Compute Engine Metadata Google Cloud
Guardar Public Key SSH Key Compute Engine Metadata Google Cloud

Nota: Si nos aparecen previamente SSH Keys creadas, mediante el botón Add Item podemos agregar otro espacio donde pegar nuestra clave pública SSH.

Recuerda que al cargar nuestra llave publica en Metadata o Metadatos en Compute Engine en Google Cloud estamos otorgando permisos para que con el par de llaves SSH Keys la pública y la privada pueda acceder a todas las Máquinas virtuales o VM Instance que tengamos dentro del proyecto.

Curso WordPress Google Cloud

Otorgar Permisos de Escritura

Los errores de permiso denegado se producen cuando nuestro usuario no tiene los permisos necesarios para realizar cambios en un archivo que estamos editando vía FTP (SFTP).

Agregar usuario al grupo www-data y otorgar permisos

Antes de conectarnos por SFTP a nuestra instancia en Google Cloud debemos agregar nuestro usuario al grupo www-data y otorgarle los permisos de escritura necesarios, para evitar posibles errores o permisos denegados cuando manejemos nuestras Máquinas Virtuales o VM Instances en GCP.

Ahora debemos conectarnos por SSH a nuestra Instancia en Google Cloud para esto ingresaremos a nuestra consola en GCP y damos clic en Compute Engine > VM Instance y por ultimo damos clic en SSH.

Conectar por SSH VM Instances Google Cloud
Conectar por SSH VM Instances Google Cloud

Ingresaremos el comando sudo -i para acceder como root.

sudo -i

Y ahora vamos a agregar nuestro usuario al grupo www-data, que nos permitirá editar la carpeta pública de nuestro sitio web.

Para esto vamos ingresar el siguiente comando sudo adduser seguido de nuestro nombre de usuario y luego agregamos www-data y damos enter.

Agregar usuarios al grupo de Apache:

sudo adduser username www-data
Agregar Usuario Grupo www-data
Agregar Usuario Grupo www-data

Ahora cambiaremos el usuario propietario de la carpeta pública, con el comando chown (change owner).

Esta comando incluye la ruta de ejemplo para una instalación WordPress en un LAMP Stack.

Permisos de Escritura:

sudo chown -R username:www-data /var/www/html/*

Volver a los permisos originales:

sudo chown -R www-data:www-data /ruta-directorio/*

Eliminar Usuario del grupo de Apache

sudo deluser username www-data

Configurar FileZilla para establecer conexión con Google Cloud

Agregar la Private Key en FileZilla

Ahora abrimos FileZilla y vamos a ir en el menú a Edit > y daremos clic en Settings.

FileZilla Edit Settings
FileZilla Edit Settings

En la columna izquierda del menú de configuración, iremos a Connection > FTP > SFTP y damos clic en el botón “Add key file” y seleccionaremos el archivo de la clave privada que descargamos anteriormente, para terminar damos clic en el botón de OK.

Agregar Private Key SFTP FileZilla
Agregar Private Key SFTP FileZilla

Para establecer una conexión entre Google Cloud y Filezilla, necesitaremos la dirección IP de nuestra instancia y el nombre de usuario de las SSH Keys.

Desde nuestra consola de Google Cloud, vamos a ir Home y daremos clic sobre Compute Engine > VM Instances y vamos a copiar la dirección IP de la instancia a la que nos vamos a conectar.

Copiar External IP VM Instances Google Cloud
Copiar External IP VM Instances Google Cloud

Regresaremos a FileZilla para copiar la IP de nuestra instancia.

En el campo Host vamos a escribir sftp:// y la IP que hemos copiado anteriormente.

Ahora debemos copiar el nombre de usuario SSH, que se encuentra en PuTTY Key Generator en el campo “Key comment” debajo de nuestra “Public Key” y “Key fingerprint”. 

Copiar Usuario SSH Key PuTTY
Copiar Usuario SSH Key PuTTY

Ahora Volveremos a FileZilla y en el campo Username pegaremos nuestro nombre de usuario de la clave pública SSH de PuTTY. Ahora daremos clic en el botón “Quickconnect” o conexión rápida.

Conexión SFTP FileZilla Google Cloud Exitosa
Conexión SFTP FileZilla Google Cloud Exitosa

Y debemos recibir un mensaje conexión exitosa.

Una vez conectados podremos navegar y editar los archivos dentro de nuestra instancia en Google Cloud.

Aplicaciones Bitnami

En el caso de Aplicaciones Bitnami debemos colocar la llave publica SSH Key dentro de la Máquina Virtual o VM Instance que contiene nuestra aplicación Bitnami. Ingresaremos a Compute Engine > VM Instance > Seleccionaremos la instancia > Edit > SSH Keys > Show and Edit > Colocaremos nuestra llave publica.

Para el caso de Bitnami el usuario correspondiente al campo de Key Comment al generar nuestras llaves en PuTTY debe ser “bitnami” todo en minúsculas.

En los nuevos despliegues de Bitnami ya no es necesario otorgar los permisos de escritura por que por defecto ya el usuario “bitnami” pertenece al grupo “daemon” y es el propietario de la carpeta htdocs.

Para despliegues anteriores en Bitnami debemos otorgar los permisos como se muestra a continuación.

Agregar Usuario al Daemon:

sudo adduser username daemon

En este ejemplo utilizamos la ruta de una instalación de WordPress Bitnami en Google Cloud.

sudo chown -R username:daemon /opt/bitnami/apps/wordpress/htdocs/

Para devolver los permisos anteriores debemos utilizar el siguiente comando:

sudo chown -R daemon:daemon /opt/bitnami/apps/wordpress/htdocs/

Nota: Es importante verificar antes de hacer los cambios quien es el usuario propietario y a que grupo pertenece. Recuerda que esta ruta solo aplica para el Stack WordPress Bitnami

Si tienen preguntas sobre como Acceder por FTP a Google Cloud o preguntas generales sobre Google Cloud Platform, déjanos un comentario.

Te pueden interesar estos artículos:

Si te ha gustado este tutorial recuerda suscribirte a nuestro canal de YouTube 💜, y compartir este artículo en redes sociales.