Telnet es una aplicación cliente-servidor que se utiliza para el acceso remoto a un host. El servidor se ejecuta en el host remoto y el cliente en el local. De esta forma podemos acceder a los recursos de la computadora remota a través de un shell, igual que si estuviéramos sentados frente a un teclado directamente conectado al host remoto.
Telnet utiliza el protocolo TCP para transmitir, carácter a carácter, hasta el host remoto cada una de las teclas que pulsamos en el teclado del host cliente. De hecho, Telnet es (aparte de una conexión con un shell en el host remoto) una aplicación básica de eco (echo en inglés). Cada vez que pulsamos una tecla el cliente la transmite hasta el servidor y éste nos la devuelve. Así el usuario comprueba si ha existido algún error.
Como hemos dicho, para llevar a cabo estas comunicaciones Telnet utiliza el TCP. Esto significa que todas las comunicaciones están virtualmente libres de errores de transmisión gracias al sistema de retransmisión automática de paquetes que el TCP implementa.*
Para usar Telnet simplemente invocamos al cliente desde la línea de comandos y escibimos a continuación el nombre del host al que queremos conectarnos:
usuario$ telnet <host_remoto>
# Nota: los <> no pertenecen a la dirección del host |
Además, Telnet puede ser utilizado también para acceder a un servidor distinto de telnetd. Por ejemplo, podemos utilizar un cliente Telnet cuando deseemos comprobar el funcionamiento de un servidor SMTP que escucha en el puerto 25. Para seleccionar dicho servicio invocaremos a (el cliente) telnet de la siguiente forma:
usuario$ telnet <servidor_SMTP> 25
|
Un aspecto importante a tener en cuenta a la hora de utilizar Telnet es que todas las transmisiones circulan por la red en texto plano, sin ningún tipo de cifrado. Y ésto es cierto incluso para la transmisión del nombre de usuario y del password cuando accedemos a la computadora remota. Por este motivo, Telnet sólo debería ser utilizado en aquellos contextos donde se está seguro que este hecho no va a ser un problema.
En la práctica existen pocas situaciones donde el uso de Telnet sea seguro: (1) cuando accedemos localmente a nuestro host y (2) cuando accedemos a un host remoto y la red garantiza que nadie puede estar haciendo sniffing. Por desgracia, esto último fuera de una red local cableada es bastante complicado de asegurar.
root# apt-get install telnet
|
root# yum install telnet
|
root# emerge telnet-bsd
|
root# apt-get install telnetd
|
root# yum install telnet-server
|
root# emerge telnet-bsd xinetd
|
El demonio Telnet es un sub-demonio y por tanto, su activación y desactivación no es trivial. Esto es exáctamente lo que hay que hacer:
# Activación definitiva
root# update-inetd --enable telnet # Desactivación definitiva root# update-inetd --disable telnet |