2/25/2011


Explicamos en este artículo cómo realizar control remoto desde cualquier parte del mundo, sin configurar y abrir puertos en router o cortafuegos, a un equipo Windows desde un equipo con Linux y viceversa (de Linux a Windows). Para ello usaremos el software gratuito (para uso no comercial) TeamViewer, muy sencillo de instalar y configurar.


Requisitos iniciales en equipo con GNU Linux para control remoto

Obviamente, necesitaremos un equipo de sobremesa o portátil con el sistema operativo GNU Linux y cualquier distribución, en nuestro caso usaremos GNU Linux Ubuntu 10. En los siguientes artículos explicamos cómo instalar el sistema operativo gratuito GNU Linux:
Si queremos poder hacer control remoto a un equipo con Linux desde cualquier parte del mundo necesitaremos conexión a Internet, tanto en el equipo con el que nos conectaremos como el equipo Linux al que haremos control remoto.
Obviamente el equipo debe estar encendido.

 

Instalar TeamViewer en Linux para control remoto a equipos Windows ó Linux

Para instalar TeamViewer en el equipo con GNU Linux Ubuntu, en primer lugar abriremos el navegador web Mozilla Firefox, accederemos a la URL:
http://www.teamviewer.com/es/download/index.aspx
Seleccionaremos "Linux" y pulsaremos en Download deb v6.0 Debian, Ubuntu 32-Bit (o la versión que queramos para nuestra distribución de Linux y arquitectura de procesador (32 ó 64 bit):
AjpdSoft Instalar TeamViewer en Linux para control remoto a equipos
 Windows ó Linux
Marcaremos "Abrir con" y seleccionaremos "Instalador de paquetes GDebi (predeterminada)", pulsaremos "Aceptar":
AjpdSoft Instalar TeamViewer en Linux para control remoto a equipos
 Windows ó Linux
Una vez finalizada la descarga del instalador de TeamViewer en Linux, se iniciará el instalador de paquetes, pulsaremos en "Instalar el paquete":
AjpdSoft Instalar TeamViewer en Linux para control remoto a equipos
 Windows ó Linux
Con el texto: TeamViewer (Remote Control Application): TeamViewer is a remote control application. TeamViewer provides easy, fast and secure remote access to Linux, Windows PCs, and Macs. TeamViewer is free for personal use. Youcan use TeamViewer completely free of charge to access your private computers or to help your friends with their computer problems.
Nos pedirá la contraseña del usuario:
AjpdSoft Instalar TeamViewer en Linux para control remoto a equipos
 Windows ó Linux
Con el texto: "Necesita conceder derechos de administrador para instalar software. Instalar archivos de paquetes manualmente constituye un posible riesgo de seguridad. Instele sólo le software que provenga de distribuidores en los que confíe".
Una vez finalizada la instalación, el asistente gdebi-gtk indicará Instalación finalizada. Se ha instalado el paquete "teamviewer_linux.deb". Pulsaremos "Cerrar":
AjpdSoft Instalar TeamViewer en Linux para control remoto a equipos
 Windows ó Linux
Con los sencillos pasos anteriores ya tendremos instalado TeamViewer en GNU Linux. Para abrirlo accederemos al menú "Aplicaciones" - "Internet" - "TeamViewer 6":
AjpdSoft Instalar TeamViewer en Linux para control remoto a equipos
 Windows ó Linux
Desde TeamViewer podremos realizar control remoto directamente con otro equipo (sea Windows ó Linux) introduciendo en "ID" el ID del asociado, es decir, la secuenca de números que TeamViewer asocia a cada equipo una vez que se instala. En el caso de nuestro equipo Linux, tras la instalación y apertura de TeamViewer, le ha asociado el ID 502 273 488. Como decimos, para hacer control remoto a otro equipo, introduciremos su ID, marcaremos "Asistencia remota" y pulsaremos en "Conectar con asociado":
AjpdSoft Instalar TeamViewer en Linux para control remoto a equipos
 Windows ó Linux
Es muy recomendable establecer una contraseña si queremos conectarnos y hacer control remoto a este equipo desde otro. Para ello accederemos a "Extras" - "Opciones":
AjpdSoft Instalar TeamViewer en Linux para control remoto a equipos
 Windows ó Linux
Desde la pestaña "Seguridad", en "Contraseña permanente para el acceso no presencial" introduciremos la contraseña para TeamViewer, esta será la contraseña que nos solicite TeamViewer cuando queramos acceder a este equipo:
AjpdSoft Instalar TeamViewer en Linux para control remoto a equipos
 Windows ó Linux
Desde la ventana anterior podremos configurar todas las opciones de TeamViewer.


Instalar TeamViewer en un equipo con Microsoft Windows 7 para control remoto a equipo con Linux

Para instalar TeamViewer en el equipo con Microsoft Windows 7, en primer lugar abriremos un navegador web como Mozilla Firefox y accederemos a la URL::
http://www.teamviewer.com/es/download/index.aspx
Seleccionaremos "Windows" y pulsaremos en Descarga v6.0 en "Versión completa de TeamViewer - Windows" - "All-in-One: Versión completa de TeamViwer":
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
Pulsaremos en "Guardar archivo":
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
Una vez descargado el fichero de instalación de TeamViewer (TeamViewer_Setup_es-aeh.exe) lo ejecutaremos como administrador pulsando con el botón derecho del ratón sobre él y seleccionando "Ejecutar como administrador":
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
El Control de cuentas de usuario de Microsoft Windows 7 nos pedirá confirmación para continuar, pulsaremos "Sí" para continuar:
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
Se iniciará el asistente de instalación de TeamViewer 6, si queremos que TeamViewer quede instalado para futuros usos y para poder hacer control remoto a este equipo desde otro marcaremos "Instalar". Si sólo queremos ejecutar TeamViewer ahora para hacer control remoto a otro equipo o para que desde otro equipo nos hagan control remoto (sin instalar nada) marcaremos "Iniciar". En nuestro caso marcaremos "Instalar" para poder hacer control remoto a otros equipos o para desde otros equipos hacer control remoto al nuestro en cualquier momento. Pulsaremos "Siguiente":
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
Si vamos a usar TeamViewer de forma privada y no comercial, seleccionaremos "privadamente / no comercial", pulsaremos "Siguiente":
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
Marcaremos "Acepto los términos de la ciencia" (si estamos de acuerdo) y marcaremos "Confirmo que utilizo TeamViewer exclusivamente con carácter privado". Pulsaremos "Siguiente" para continuar:
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
Si queremos que desde fuera podamos hacer control remoto a nuestro equipo marcaremos "Sí":
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
Las posibles opciones:
  • No (predeterminado): es posible establecer conexión saliente y entrante de y hacia este ordenador. Para las conexiones entrantes, debe iniciar TeamViewer y comunicar a su asociado la contraseña de sesión dinámica (cambia cada vez que se inicia TeamViewer).
  • Sí: tras la instalación, un asistente le ayudará a configurar TeamViewer para que pueda acceder a él en cualquier momento y lugar. Establecerá una contraseña fija y con TeamViewer podrá usar este ordenador incluso antes del inicio de sesión de Windows.
Se iniciará el asistente para acceso no presencial. Pulsaremos "Siguiente":
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
Introduciremos el nombre del equipo en "Nombre del ordenador" y la contraseña que se nos solicitará cuando hagamos control remoto a este equipo:
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
A continuación podremos crear una cuenta en TeamViewer o usar una existente. La ventaja de tener una cuenta es que podremos guardar todos los IDs de nuestros asociados (equipos con TeamViewer) en dicha cuenta y los tendremos disponibles a través de Internet en cualquier momento.
Una vez que tengamos la cuenta en TeamViewer marcaremos "Ya tengo una cuenta de TeamViewer", introduciremos el usuario y la contraseña y pulsaremos "Siguiente":
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
El asistente de instalación nos indicará que ha finalizado. Pulsaremos "Finalizar":
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
Si funciona nuestra conexión a Internet, TeamViewer obtendrá un ID de asociado. Esta será la cadena de números que identificará nuestro equipo en el mundo. Cuando queramos realizar control remoto a nuestro equipo Microsoft Windows 7 deberemos introducir este ID y la contraseña:
AjpdSoft Instalar TeamViewer en un equipo con Microsoft Windows 7 
para control remoto a equipo con Linux
Puesto que hemos instalado TeamViewer versión completa, podremos tanto hacer control remoto a otros equipos Windows ó Linux como realizar control remoto a nuestro equipo desde otros equimos Windows ó Linux.

 

Control remoto de Linux a Windows con TeamViewer

Para realizar control remoto desde un equipo con Linux a uno con Windows, en primer lugar instalaremos TeamViewer, lo abriremos TeamViewer, en ID introduciremos el ID del asociado al que queramos realizar control remoto. Marcaremos la opción "Asistencia remota" y pulsaremos en "Conectar con asociado":
AjpdSoft Control remoto de Linux a Windows con TeamViewer
Si el asociado al que nos conectamos tiene los servicios de TeamViewer iniciados y la conexión a Internet funciona en ambos equipos, nos pedirá la contraseña. Introduciremos la contraseña del asociado al que queramos realizar control remoto:

AjpdSoft Control remoto de Linux a Windows con TeamViewer

Y ya temdremos control total sobre el equipo con Windows. Es muy sencillo y no requiere de apertura de puertos en router:
AjpdSoft Control remoto de Linux a Windows con TeamViewer
En el equipo del asociado al que hemos hecho control remoto aparecerá una ventana de notificación, indicando al usuario que el asociado XXX se ha conectado a nuestro equipo y está realizando control remoto (viendo lo mismo que vemos nosotros e interactuando, si lo desea, con nuestro escritorio):

AjpdSoft Control remoto de Linux a Windows con TeamViewer


Control remoto Windows a Linux con TeamViewer

De la misma forma que de un equipo con Linux a un equipo con Windows, en el caso inverso, de un equipo con Windows a uno con Linux, instalaremos TeamViewer en el equipo con Windows y en el equipo con Linux, lo abriremos e introduciremos el ID del asociado (ID que obtuvimos en el proceso de instalación de TeamViewer en el equipo Linux), pulsaremos "Conectar con asociado":
AjpdSoft Control remoto Windows a Linux con TeamViewer
Nos solicitará contraseña, introduciremos la contraseña de TeamViewer que hemos introducido en este paso y pulsaremos "Iniciar sesión":
AjpdSoft Control remoto Windows a Linux con TeamViewer
Si todo es correcto TeamViewer nos mostrará el escritorio del equipo Linux, desde aquí podremos interactuar con el equipo Linux desde el equipo Windows:
AjpdSoft Control remoto Windows a Linux con TeamViewer

Artículos relacionados


Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

2/24/2011


Explicamos paso a paso y con capturas de pantalla cómo montar un servidor FTP en un equipo con el sistema operativo GNU Linux Debian o GNU Linux Ubuntu. Explicamos cómo, de forma sencilla y gratuita, podemos convertir nuestro equipo Linux en un servidor de FTP.

 

Requisitos previos para montar un servidor de FTP en GNU Linux Debian ó Ubuntu

Equipo informático con GNU Linux Debian o Ubuntu como sistema operativo y conexión a Internet

En primer lugar deberemos disponer de un equipo con el sistema operativo GNU Linux Debian:
También podremos usar otras distribuciones o incluso instalar el servidor de FTP en una máquina virtual como por ejemplo GNU Linux Ubuntu sobre Microsoft Windows 7:
El equipo Linux debe tener conexión a Internet si queremos que el servidor de FTP sea público y accesible desde cualquier parte del mundo.

Registro de dominio en Internet

Si queremos hacer público nuestro servidor de FTP es recomendable registrar un dominio en Internet. De esta forma los usuarios accederán a una dirección de FTP más o menos sencilla en vez de usar una IP, por ejemplo:
Para ello accederemos a cualquier hosting (por ejemplo Dinahosting), escogeremos un nombre y lo registraremos. El coste suele ser bastante reducido, de unos 10 euros/año. En nuestro caso registraremos proyectoa.com:
AjpdSoft Registro de dominio en Internet
Realizaremos el pago como indica el hosting:
AjpdSoft Registro de dominio en Internet
En unos minutos ya deberíamos tener acceso al panel de control del dominio registrado. El hosting nos habrá enviado un email (o por cualquier otro medio) con los datos de acceso al panel de control para gestionar el dominio. Para el acceso externo (desde cualquier parte del mundo) a nuestro servidor de email, en primer lugar configuraremos en el panel de control del dominio registrado las zonas DNS, en concreto la Zona de tipo A. En dicha zona añadiremos en Host: "ftp" y en IP la IP pública de nuestra conexión a Internet (se puede obtener visitando ip.php):
AjpdSoft Montar un servidor de FTP en un equipo con GNU Linux 
Debian
Por supuesto, otro requerimiento es que debemos disponer de una dirección IP pública estática (no dinámica) o bien, si no podemos disponer de una dirección IP estática, deberemos usar algún método para cambiar la IP de la zona DNS "ftp". Por ejemplo, en el caso de Dinahosting, cuenta con una aplicación que obtiene la IP actual y actualiza la zona DNS que se le indique si la IP cambia. Es el mismo método que el que usa nuestra aplicación AjpdSoft Aviso Cambio IP Pública, sólo que ésta actualiza zonas DNS.

 

Mapeo y redirección de puertos en cortafuegos o router

Si disponemos de un cortafuegos o router en nuestra red o equipo deberemos abrir el puerto 21 (para el servicio de FTP). Todos los puertos deben ir dirigidos a la IP local del equipo GNU Linux servidor de FTP.
A continuación mostramos un ejemplo de cómo abrir el puerto 21 para la IP 192.168.1.100 (IP del que será servidor de FTP). Abriremos el navegador web, introduciremos la IP para el acceso al router, introduciremos usuario y contraseña de gestión y accederemos a la opción "Virtual Server". Añadiremos un nuevo mapeo con las opciones:
  • Protocol type: tcp.
  • Public Port: 21.
  • Private Port: 21.
  • Private IP Candidates: 192.168.1.100 (IP del servidor de FTP).
AjpdSoft Montar un servidor de FTP en un equipo con GNU Linux 
Debian

Instalar ftpd en GNU Linux Debian, válido para GNU Linux Ubuntu para montar servidor FTP

Abriremos una ventana de Terminal, desde el menú "Aplicaciones" - "Accesorios" - "Terminal", ejecutaremos el siguiente comando linux:
sudo apt-get install ftpd
AjpdSoft Montar un servidor de FTP en un equipo con GNU Linux 
Debian
Para ver el resultado de la instalación de ftpd pulsa aquí.
Si disponemos de cortafuegos en el equipo deberemos abrir el puerto 21.
Con estos sencillos pasos ya tendremos operativo el servidor de FTP, para probarlo es suficiente con abrir un navegador con soporte para FTP e introducir la IP o la URL registrada para el servidor FTP en las zonas DNS, en nuestro caso:
Nos pedirá usuario y contraseña, debe ser un usuario y contraseña del sistema operativo Linux del servidor de FTP, una vez introducidos accederemos a sus carpetas vía web:
AjpdSoft Montar un servidor de FTP en un equipo con GNU Linux 
Debian
Por supuesto, para un mejor aprovechamiento del servidor de FTP es recomendable usar algún software cliente de FTP, por ejemplo FileZilla Client:

Configurar usuarios para acceso al servidor FTP en Linux

Ftpd cuenta con un fichero donde se le deben indicar los usuarios del equipo que no tendrán acceso vía FTP, por ejemplo es muy recomendable añadir a este fichero el superusuario root, el usuario anonymous, el usuario ftp y todos los usuarios locales. De esta forma sólo tendrán acceso vía FTP a nuestro servidor aquellos usuarios que no estén en este fichero. Para editarlo ejecutaremos el comando linux:
sudo nano /etc/ftpusers
AjpdSoft Configurar usuarios para acceso al servidor FTP en Linux
Si añadimos, por ejemplo, el usuario local del equipo "ajpdsoft" a este fichero y lo guardamos pulsando Control + O y cerramos la edición pulsando Control + X, al intentar acceder vía FTP con este usuario:
AjpdSoft Configurar usuarios para acceso al servidor FTP en Linux
Nos mostrará el mensaje de error siguiente y no permitirá el acceso vía FTP:
AjpdSoft Configurar usuarios para acceso al servidor FTP en Linux
Con el texto: "530 Login incorrect".
Lo recomendable, por seguridad, es añadir todos los usuarios locales que inicien sesión al fichero /etc/ftpusers y crear uno o varios usuarios específicos para el acceso FTP, para ello usaremos el comando linux::
sudo useradd -m usuarioftp
Estableceremos una contraseña para el usuario "usuarioftp" con el comando linux:
sudo passwd usuarioftp
AjpdSoft Configurar usuarios para acceso al servidor FTP en Linux
Una vez creado el usuario, puesto que no está en el fichero /etc/ftpusers, tendremos acceso vía ftp, introduciendo el nombre de usuario "usuarioftp" y la contraseña establecida:
AjpdSoft Configurar usuarios para acceso al servidor FTP en Linux
Y accederemos a la carpeta del usuario /home/usuarioftp del usuario:
AjpdSoft Configurar usuarios para acceso al servidor FTP en Linux

Anexo

  • Resultado comando sudo apt-get install ftpd:
ajpdsoft@pcajpdsoft:~$ sudo apt-get install ftpd
[sudo] password for ajpdsoft:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Los paquetes indicados a continuación se instalaron de forma automática y ya no son necesarios.
libswfdec-0.6-90 libepc-ui-1.0-1 libtalloc1 libmtp7 libneon27 libepc-1.0-1 libmalaga7 libgksu1.2-0 libsensors3
libraw1394-8 libavahi-compat-libdnssd1 djvulibre-desktop libicu38 libgda3-common libgksuui1.0-1 libosp5 libmagick++10
libexchange-storage1.2-3 libgtksourceview1.0-0 w3c-dtd-xhtml libnm-util0 libjaxp1.3-java-gcj libmagick10 libapm1
libpisock9 libcamel1.2-11 openssl-blacklist libpt-1.10.10-plugins-alsa libtrackerclient0 openoffice.org-writer2latex
libggzmod4 postgresql-doc-8.3 libeggdbus-1-0 libtotem-plparser10 swfdec-gnome libservlet2.4-java libedata-cal1.2-6
libsmbios2 libpt-1.10.10 libsoup2.2-8 libsuitesparse-3.1.0 libgpod3 libisccc50 libxerces2-java-gcj libcdio7 libxxf86misc1
libmysqlclient15off libossp-uuid15 libeel2-data libdirectfb-1.0-0 python-gtkmozembed libsexy2 p7zip gnome-utils
libhesiod0 libgnome-pilot2 finger libparted1.8-10 arj dhcdbd liblwres50 libgnomeprint2.2-data libkpathsea4 gs-common
libcurl3 hal python-eggtrayicon gnome-spell libnm-glib0 libggz2 libssh2-1 libpoppler3 lm-sensors wodim
libgtksourceview-common libhal-storage1 libbind9-50 libxerces2-java libc-client2007b libbluetooth2 libxtrap6
gnome-app-install python-cupsutils libeel2-2.20 libgtkhtml2-0 libopal-2.2 totem-gstreamer libxalan2-java libdvdread3
libgnomevfs2-bin libiw29 libedataserver1.2-9 libmozjs1d libmpfr1ldbl libisccfg50 zip python-4suite-xml libxklavier12
libgucharmap6 libgda3-3 svgalibg1 libpt-1.10.10-plugins-v4l libggzcore9 libgmyth0 libzephyr3 cpp-4.3 libvoikko1 hal-info
libcupsys2 libnautilus-burn4 postgresql-contrib-8.3 libgnomeprint2.2-0 libgraphviz4 epiphany-gecko libgnome-desktop-2
postgresql-8.3 libavahi-core5 libgnomeprintui2.2-0 libcucul0 libgnomeprintui2.2-common libxalan2-java-gcj libltdl3
libpoppler-glib3 libgnomecups1.0-1 libpisync1 libgdl-1-common libfaad0 gnome-vfs-obexftp
Utilice «apt-get autoremove» para eliminarlos.
Se instalarán los siguientes paquetes NUEVOS: ftpd
0 actualizados, 1 se instalarán, 0 para eliminar y 99 no actualizados.
Necesito descargar 48,4 kB de archivos.
Se utilizarán 193 kB de espacio de disco adicional después de esta operación.
Des:1 http://ftp.de.debian.org/debian/ sid/main ftpd i386 0.17-32 [48,4 kB]
Descargados 48,4 kB en 1seg. (38,1 kB/s)
Seleccionando el paquete ftpd previamente no seleccionado.
(Leyendo la base de datos ... 128942 ficheros o directorios instalados actualmente.)
Desempaquetando ftpd (de .../archives/ftpd_0.17-32_i386.deb) ...
Procesando disparadores para man-db ...
Configurando ftpd (0.17-32) ...
ajpdsoft@pcajpdsoft:~$




Artículos relacionados


Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

2/21/2011


Explicamos cómo instalar el cliente de FTP gratuito y open source FileZilla en el sistema operativo GNU Linux Debian. Mostramos cómo acceder a un servidor de FTP y descargar y subir ficheros desde GNU Linux. Explicamos para qué sirve el protocolo FTP y en qué consiste.


 

File Transfert Protocol FTP

FTP (File Transfer Protocol ó Protocolo de Transferencia de Archivos) es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.
El Servicio FTP es ofrecido por la capa de Aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21.
Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor, o apropiarse de los archivos transferidos. Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico.

 

El Modelo FTP

En el modelo, el intérprete de protocolo (PI) de usuario , inicia la conexión de control en el puerto 21. Las órdenes FTP estándar las genera el PI de usuario y se transmiten al proceso servidor a través de la conexión de control. Las respuestas estándar se envían desde el PI del servidor al PI de usuario por la conexión de control como respuesta a las órdenes.
Estas órdenes FTP especifican parámetros para la conexión de datos (puerto de datos, modo de transferencia, tipo de representación y estructura) y la naturaleza de la operación sobre el sistema de archivos (almacenar, recuperar, añadir, borrar, etc.). El proceso de transferencia de datos (DTP) de usuario u otro proceso en su lugar, debe esperar a que el servidor inicie la conexión al puerto de datos especificado (puerto 20 en modo activo o estándar) y transferir los datos en función de los parámetros que se hayan especificado.
La comunicación entre cliente y servidor es independiente del sistema de archivos utilizado en cada computadora, de manera que no importa que sus sistemas operativos sean distintos, porque las entidades que se comunican entre sí son los PI y los DTP, que usan el mismo protocolo estandarizado: el FTP.

 

Servidor FTP

Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN, etc.). Su función es permitir el intercambio de datos entre diferentes servidores/ordenadores.
Por lo general, los programas servidores FTP no suelen encontrarse en los ordenadores personales, por lo que un usuario normalmente utilizará el FTP para conectarse remotamente a uno y así intercambiar información con él.
Las aplicaciones más comunes de los servidores FTP suelen ser el alojamiento web, en el que sus clientes utilizan el servicio para subir sus páginas web y sus archivos correspondientes; o como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Para ello, existen protocolos de comunicación FTP para que los datos se transmitan cifrados, como el SFTP (Secure File Transfer Protocol).

 

Cliente FTP

Cuando un navegador no está equipado con la función FTP, o si se quiere cargar archivos en un ordenador remoto, se necesitará utilizar un programa cliente FTP. Un cliente FTP es un programa que se instala en el ordenador del usuario, y que emplea el protocolo FTP para conectarse a un servidor FTP y transferir archivos, ya sea para descargarlos o para subirlos.
Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el ordenador en que reside (servidor, en el caso de descarga de archivos), el ordenador al que se quiere transferir el archivo (en caso de querer subirlo nosotros al servidor), y la carpeta en la que se encuentra.
Algunos clientes de FTP básicos en modo consola vienen integrados en los sistemas operativos, incluyendo Microsoft Windows, DOS, GNU/Linux y Unix. Sin embargo, hay disponibles clientes con opciones añadidas e interfaz gráfica. Aunque muchos navegadores tienen ya integrado FTP, es más confiable a la hora de conectarse con servidores FTP no anónimos utilizar un programa cliente.

 

Modos de conexión del cliente FTP

FTP admite dos modos de conexión del cliente. Estos modos se denominan Activo (o Estándar, o PORT, debido a que el cliente envía comandos tipo PORT al servidor por el canal de control al establecer la conexión) y Pasivo (o PASV, porque en este caso envía comandos tipo PASV). Tanto en el modo Activo como en el modo Pasivo, el cliente establece una conexión con el servidor mediante el puerto 21, que establece el canal de control.

 

Modo activo de conexión FTP

En modo Activo, el servidor siempre crea el canal de datos en su puerto 20, mientras que en el lado del cliente el canal de datos se asocia a un puerto aleatorio mayor que el 1024. Para ello, el cliente manda un comando PORT al servidor por el canal de control indicándole ese número de puerto, de manera que el servidor pueda abrirle una conexión de datos por donde se transferirán los archivos y los listados, en el puerto especificado.
Lo anterior tiene un grave problema de seguridad, y es que la máquina cliente debe estar dispuesta a aceptar cualquier conexión de entrada en un puerto superior al 1024, con los problemas que ello implica si tenemos el equipo conectado a una red insegura como Internet. De hecho, los cortafuegos que se instalen en el equipo para evitar ataques seguramente rechazarán esas conexiones aleatorias. Para solucionar esto se desarrolló el modo Pasivo.

Modo pasivo de conexión FTP

Cuando el cliente envía un comando PASV sobre el canal de control, el servidor FTP le indica por el canal de control, el puerto (mayor a 1023 del servidor. Por ejemplo el 2040) al que debe conectarse el cliente. El cliente inicia una conexión desde el puerto siguiente al puerto de control (por ejemplo el 1036) hacia el puerto del servidor especificado anteriormente (por ejemplo el 2040).
Antes de cada nueva transferencia, tanto en el modo Activo como en el Pasivo, el cliente debe enviar otra vez un comando de control (PORT o PASV, según el modo en el que haya conectado), y el servidor recibirá esa conexión de datos en un nuevo puerto aleatorio (si está en modo pasivo) o por el puerto 20 (si está en modo activo).

Instalar el cliente FTP FileZilla en GNU Linux Debian

Para instalar FileZilla en GNU Linux Debian abriremos una ventana de terminal desde el menú "Aplicaciones" - "Accesorios" - "Terminal" y ejecutaremos el siguiente comando linux:

sudo apt-get install filezilla
AjpdSoft Instalar el cliente FTP Filezilla en GNU Linux Debian
Se iniciará la comprobación de paquetes para la instalación de FileZilla, nos pedirá confirmación para instalar, pulsaremos "s" e INTRO:
AjpdSoft Instalar el cliente FTP Filezilla en GNU Linux Debian


Para ver el resultado del comando pulsa aquí.
Con el comando anterior, si todo es correcto, ya tendremos instalado FileZilla en GNU Linux Debian. Para abrirlo accederemos al menú "Aplicaciones" - "Internet" - "FileZilla":
AjpdSoft Instalar el cliente FTP Filezilla en GNU Linux Debian
La primera apertura de FileZilla nos mostrará la ventana de bienvenida:
AjpdSoft Instalar el cliente FTP Filezilla en GNU Linux Debian

Acceso a un servidor FTP para subir y descargar ficheros con FileZilla en Linux

Para subir o descargar ficheros de un servidor FTP abriremos FileZilla desde el menú "Aplicaciones" - "Internet" - "FileZilla", pulsaremos en "Archivo" - "Gestor de sitios":

AjpdSoft Instalar el cliente FTP Filezilla en GNU Linux Debian

Pulsaremos en "Nuevo sitio" e introduciremos los siguientes datos:
  • Servidor: url del servidor de FTP al que queramos conectarnos, por ejemplo ftp.proyectoa.com.
  • Puerto: por defecto el 21.
  • Server type: seleccionaremos el tipo de servidor FTP al que nos conectaremos, lo habitual es "FTP - File Transfer Protocol".
  • Logon Type: seleccionaremos el tipo de inicio de sesión, en nuestro caso seleccionaremos "Normal".
  • Usuario: nombre de usuario del servidor de FTP con permisos suficientes.
  • Contraseña: contraseña del usuario anterior.
Pulsaremos "Conectar" para conectarnos al servidor FTP indicado:

AjpdSoft Instalar el cliente FTP Filezilla en GNU Linux Debian

Si todo es correcto, FileZilla realizará la conexión FTP al servidor indicado, mostrando las carpetas a las que tenga acceso el usuario introducido. Desde esta ventana podremos subir, descargar, eliminar ficheros, podremos crear carpetas, etc.

AjpdSoft Instalar el cliente FTP Filezilla en GNU Linux Debian

Además, si subimos un fichero al mismo servior FTP desde otro equipo de Internet, con cualquier otro sistema operativo como Instalar Microsoft Windows 7 Ultimate:

AjpdSoft Instalar el cliente FTP Filezilla en GNU Linux Debian

Lo veremos también en nuestro cliente FileZilla, pues como hemos indicado aquí, el protocolo FTP es común para cualquier sistema operativo:

AjpdSoft Instalar el cliente FTP Filezilla en GNU Linux Debian


Anexo

  • Resultado comando sudo apt-get install filezilla:
ajpdsoft@pcajpdsoft:~$ sudo apt-get install filezilla
[sudo] password for ajpdsoft:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Los paquetes indicados a continuación se instalaron de forma automática y ya no son necesarios.
libswfdec-0.6-90 libepc-ui-1.0-1 libtalloc1 libmtp7 libneon27 libepc-1.0-1 libmalaga7 libgksu1.2-0 libsensors3
libraw1394-8 libavahi-compat-libdnssd1 djvulibre-desktop libicu38 libgda3-common libgksuui1.0-1 libosp5 libmagick++10
libexchange-storage1.2-3 libgtksourceview1.0-0 w3c-dtd-xhtml libnm-util0 libjaxp1.3-java-gcj libmagick10 libapm1
libpisock9 libcamel1.2-11 openssl-blacklist libpt-1.10.10-plugins-alsa libtrackerclient0 openoffice.org-writer2latex
libggzmod4 postgresql-doc-8.3 libeggdbus-1-0 libtotem-plparser10 swfdec-gnome libservlet2.4-java libedata-cal1.2-6
libsmbios2 libpt-1.10.10 libsoup2.2-8 libsuitesparse-3.1.0 libgpod3 libisccc50 libxerces2-java-gcj libcdio7 libxxf86misc1
libmysqlclient15off libossp-uuid15 libeel2-data libdirectfb-1.0-0 python-gtkmozembed libsexy2 p7zip gnome-utils
libhesiod0 libgnome-pilot2 finger libparted1.8-10 arj dhcdbd liblwres50 libgnomeprint2.2-data libkpathsea4 gs-common
libcurl3 hal python-eggtrayicon gnome-spell libnm-glib0 libggz2 libssh2-1 libpoppler3 lm-sensors wodim
libgtksourceview-common libhal-storage1 libbind9-50 libxerces2-java libc-client2007b libbluetooth2 libxtrap6
gnome-app-install python-cupsutils libeel2-2.20 libgtkhtml2-0 libopal-2.2 totem-gstreamer libxalan2-java libdvdread3
libgnomevfs2-bin libiw29 libedataserver1.2-9 libmozjs1d libmpfr1ldbl libisccfg50 zip python-4suite-xml libxklavier12
libgucharmap6 libgda3-3 svgalibg1 libpt-1.10.10-plugins-v4l libggzcore9 libgmyth0 libzephyr3 cpp-4.3 libvoikko1 hal-info
libcupsys2 libnautilus-burn4 postgresql-contrib-8.3 libgnomeprint2.2-0 libgraphviz4 epiphany-gecko libgnome-desktop-2
postgresql-8.3 libavahi-core5 libgnomeprintui2.2-0 libcucul0 libgnomeprintui2.2-common libxalan2-java-gcj libltdl3
libpoppler-glib3 libgnomecups1.0-1 libpisync1 libgdl-1-common libfaad0 gnome-vfs-obexftp
Utilice «apt-get autoremove» para eliminarlos.
Se instalarán los siguientes paquetes extras:
filezilla-common
Se instalarán los siguientes paquetes NUEVOS:
filezilla filezilla-common
0 actualizados, 2 se instalarán, 0 para eliminar y 99 no actualizados.
Necesito descargar 4279 kB de archivos.
Se utilizarán 13,4 MB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]? s
Des:1 http://ftp.de.debian.org/debian/ sid/main filezilla-common all 3.3.5.1-1 [2973 kB]
Des:2 http://ftp.de.debian.org/debian/ sid/main filezilla i386 3.3.5.1-1 [1306 kB]
Descargados 4279 kB en 4seg. (1036 kB/s)
Seleccionando el paquete filezilla-common previamente no seleccionado.
(Leyendo la base de datos ... 128404 ficheros o directorios instalados actualmente.)
Desempaquetando filezilla-common (de .../filezilla-common_3.3.5.1-1_all.deb) ...
Seleccionando el paquete filezilla previamente no seleccionado.
Desempaquetando filezilla (de .../filezilla_3.3.5.1-1_i386.deb) ...
Procesando disparadores para man-db ...
Procesando disparadores para hicolor-icon-theme ...
Procesando disparadores para gnome-menus ...
Procesando disparadores para desktop-file-utils ...
Procesando disparadores para menu ...
Configurando filezilla-common (3.3.5.1-1) ...
Configurando filezilla (3.3.5.1-1) ...
Procesando disparadores para menu ...

Artículos relacionados


Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.