Transferencia cifrada de archivos con WinSCP
Cuando se trabaja desarrollando páginas web o tiendas virtuales es necesario acceder a los archivos de las mismas que se alojan en el hosting o VPS. Para realizar este tipo de acceso a los ficheros remotos se utilizan las conexiones FTP, SFTP o es posible que se permita hacerlo utilizando el protocolo SCP, por lo que se podrá acceder utilizando un software como WinSCP.
De esta manera se pueden subir directamente nuevas imágenes u otros archivos necesarios para el funcionamiento de la web, modificar archivos de configuración o cambiar los permisos de las distintas carpetas y archivos que forman el sitio web.
Podemos configurar nuestro VPS GRATIS para que pueda recibir conexiones seguras utilizando un servicio sFTP. Pero para transferir archivos a un servidor seguro necesitas un cliente sFTP. Este es un software que conecta al servidor web y te pernite gestionar tus archivos como si fuera el explorador de Windows. Actualmente existen diferentes clientes de FTP, pero recomiendo que si utilizas Windows no hay mejor cliente que WinSCP por su seguridad y robustez.
Índice de artículo
¿QUÉ ES SFTP?
sFTP, del ingles Protocolo de transferencia segura de archivos. Permite transferir archivos cifrando los datos entre tu ordenador local y el servidor al que te conectes, a través de SSH.
sFTP hace uso del puerto 22 por defecto, el mismo que SSH. Así mismo, la autenticación de sFTP es exactamente la misma que en SSH, es decir, si en SSH utilizamos clave pública, en sFTP también.
Si querés profundizar en el funcionamiento de este protocolo y configurarlo en tu servidor, te sugiero que veas el artículo dedicado al servicio sFTP que publiqué en este blog.
¿QUE ES WINSCP?
WinSCP es un cliente sFTP gráfico para Windows, que emplea SSH.
Las principales características de WinSCP son:
- Está desarrollado bajo licencia Open Source por lo que puede utilizarse sin necesidad de realizar un pago por ello.
- Permite acceder a servidores web y otro tipo de servidores locales o en la red, mediante el protocolo SCP.
- Utiliza un método de autenticación entre cliente y servidor y añade un cifrado a todas las transmisiones que se realizan entre ellos.
- Es capaz de realizar conexiones a través de proxy.
- Permite automatizar acciones comunes que se realizan de forma habitual, para ahorrar tiempo y esfuerzo.
- Se puede activar la sincronización de carpetas en local y remoto.
- Permite conexiones con otros protocolos como FTP, SFTP, WebDAV o incluso Amazon S3.
¿Qué es el protocolo SCP?
El protocolo SCP (Secure Copy Protocol) es un protocolo que se basa en Secure Shell (SSH) para conseguir transferencias seguras entre un cliente y un servidor. Con SCP se dispone de un método de autenticación junto a un cifrado de transmisión para garantizar la privacidad e integridad de las transacciones que se realizan utilizando este protocolo.
Descargando e Instalando WinSCP
El cliente WinSCP puede ser descargado desde si sección descargar WinSCP. Pero como siempre digo, me gusta utilizar las versiones portables si es posible, así que si querés descargar la versión portable de WinSCP debes buscarla en las alternativas de descarga que ofrece este proyecto.
Si ya has instalado programas en Windows, estas indicaciones no te van a sorprender cuando instales WinSCP.
Instalación:
- Click en Installation package para descargar el archivo de instalación.
- En la carpeta donde descargaste el instalador, debes hacer doble click para iniciar la instalación.
- Selecciona el modo de instalación – Install for all users (recommended).
- Acepta el acuerdo de la licencia.
- Selecciona Typical installation (recommended) y click en Next.
- Selecciona Commander (User interface style) y click en Next.
- Click en Install.
- Click en el botón Finish al finalizar la instalación y WinSCP iniciará automáticamente.
Conectando al protocolo SCP
Tras instalar y ejecutar la aplicación es preciso configurar los datos de acceso para crear la primera conexión SCP con el servidor. Los datos a incluir son los habituales en este tipo de aplicaciones e incluyen el tipo de protocolo, el nombre o IP del servidor, el puerto de conexión que se va a utilizar para acceder al servidor, el nombre de usuario y la contraseña.
En las opciones avanzadas de conexión es donde se van a configurar opciones relacionadas con el servidor (ajuste de hora, configuración de directorios y similares). Este tipo de ajustes avanzados no son necesarios salvo que se necesite una configuración especial.
Se pueden ajustar otras opciones antes de realizar la conexión como el tiempo máximo de respuesta, la versión del protocolo IP, o la configuración de políticas de cifrado (en la sección SSH). Gracias a la configuración de este apartado SSH se dispone de una mayor capacidad para controlar las transferencias y poder crear un entorno seguro de intercambio entre cliente y servidor.
Para realizar la conexión con el servidor basta con pulsar el botón Login, y si los datos de acceso son correctos, se establecerá una conexión segura entre el programa y el servidor, teniendo acceso a los ficheros y directorios remotos.
Conexión cifrada utilizando el protocolo sFTP
Si bien WinSCP soporta varios protocolos para realizar transferencia de archivos, la verdadera seguridad es el cifrado de datos en la conectividad. Como hemos comentado en un artículo anterior, el servicio sFTP ofrece este tipo de cifrado utilizando llaves SSH para realizar esta comunicación.
Para comenzar la configuración de los datos de acceso no difiere mucho al punto anterior. Salvo que en esta ocasión se debe elegir como protocolo a sFTP y no es necesario escribir una contraseña.
Y luego presionaremos Avanzado.
Configuración de la llave SSH
En Avanzado, nos ubicaremos en SSH y luego Autentificación, ahí en el recuadro Parámetros de autentificación le daremos check en Permitir reenvío del agente SSH.
Ahora buscamos la llave privada SSH correspondiente a la conexión que estamos configurando. Esta llave privada pudo haber sido provista por el proveedor del servicio sFTP o las que generamos en la creación del VPS.
Si todos los datos son correctos este se conectará y WinSCP convertirá nuestra llave a formato PPK de PuTTy.
Se genera una llave SSH PuTTy, ahora le damos Aceptar y Conectar.
TRANSFERENCIA DE ARCHIVOS CON WINSCP
Una vez que la autentificación sea satisfactoria nos aparecerán 2 paneles. En el izquierdo se muestran las carpetas de nuestra PC. En el derecho el espacio en nuestro servidor sFTP remoto.
Para transferir un archivo solo tendremos que seleccionar nuestro archivo, darle click derecho y seleccionar Subir.
Aceptamos que se suba el archivo al directorio remoto
Y verificamos que el archivo ya está en el directorio remoto.
Guardar las sesiones para futuras conexiones
También podemos guardar nuestro sitio en WinSCP. Simplemente creamos un Nuevo Sitio, le ponemos nuestros datos de configuración y le damos Guardar como.
Le ponemos un nombre, el que deseamos y le damos aceptar.
Una vez guardado bastará con seleccionar el sitio guardado y darle doble click para que se conecte automáticamente.
Cómo ver los archivos ocultos en WinSCP
Una función muy útil de WinSCP es la de poder mostrar los archivos que permanecen ocultos en el servidor. Se pueden ver este tipo de archivos con WinSCP a través de dos métodos:
- Atajo de teclado. Pulsando las teclas CTRL + ALT + H en el explorador de archivos de WinSCP se mostrarán los archivos ocultos. Volviendo a pulsar esta combinación de teclas se volverán a ocultar.
- Opción manual. Para mostrar los archivos ocultos de forma manual hay que ir a las Preferencias de WinSCP y pulsar sobre la opción Panels. Dentro de esta casilla se puede activar la opción Show hidden files (mostrar ficheros ocultos).
Conclusión
Hemos hablado de WinSCP, qué es, cuáles son sus características y cómo utilizarlo. Este programa gratuito para acceder a los archivos de un hosting es muy interesante porque permite conexiones y transferencias en un entorno seguro gracias al uso del protocolo sFTP.
Como alternativa a las conexiones FTP habituales, WinSCP se presenta como una mejor solución para garantizar un alto nivel de protección en las transferencias cliente/servidor.
Si sos un lector frecuente de este blog, seguro estás esperando el video que complementa este artículo. Pués acá lo tenés.
Te invito a que te suscribas a nuestro canal de Youtube para no perderte ningún video. También podés seguirme en Twitter para enterarte antes que nadie el material que estamos preparando y seguir compartiendo el conocimiento.
Trabajando desde el año 1990 en el mercado de la tecnología. Técnico en Electrónica. Administrador de Sistemas. Administrador de Redes. Técnico en telecomunicaciones. Técnico de plataforma satelital. Incursiono en el Software Libre desde mediados del 1997. Desde entonces utilicé varias distribuciones GNU/Linux comenzando con un RedHat 5.0
Formé parte del Core Team y miembro del grupo de desarrollo del Proyecto UTUTO.