Imprimir

Shell remoto con Telnet en Linux

Shell remoto con Telnet

El protocolo Telnet (Telecommunicating Networks) permite abrir un shell en una máquina remota. Este procolo se implementa con arquitectura cliente-servidor, por lo que necesita:

  • un servidor Telnet que se esté ejecutando en la máquina remota, y que por defecto, estará escuchando en el puerto 23 TCP.
  • un cliente Telnet que nos permita conectarnos al servidor emulando un terminal que se encontrase físicamente conectado a él.

Si queremos habilitar el servidor Telnet (paquete telnetd) lo haremos por medio de inetd. Editaremos /etc/inetd.conf y añadiremos la línea:

telnet stream tcp nowait telnetd.telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

Atención

El servidor Telnet no debe utilizarse, ya que transmite los datos sin encriptar, habiendo sido sustituido por SSH, una versión encriptada de Telnet.

El comando telnet (paquete telnet) es un cliente Telnet. Su sintaxis es la siguiente:

$ telnet <direccion_host> [puerto]
  • <direccion_host> IP o nombre de la máquina remota.
  • [puerto] por defecto utiliza el puerto 23 TCP.

Por ejemplo, para conectarnos al servidor Telnet de la máquina pc350 (por defecto puerto 23 TCP), haremos:

$ telnet pc350
Trying 192.168.1.3...
Connected to pc350
Escape character is 'ˆ]'
pc350 login:

Lo primero que nos pide el sistema remoto es el login. Debemos introducir un nombre de usuario válido en el sistema remoto y su contraseña. Una vez logueados, tendremos acceso al sistema y podremos usarlo como si estuviéramos sentados allí, con los privilegios que tenga ese usuario. Para cerrar la conexión con el sistema remoto ejecutaremos:

> quit

o pulsaremos la secuencia de escape <Ctrl+]>

Conexión con un servidor remoto cualquiera

Pero el comando telnet no sólo actúa como un cliente Telnet, sino que nos permite conectar con cualquier servidor remoto apuntando al puerto correspondiente. Una vez conectados, generalmente alguno de los comandos help, ? o man nos dará información sobre qué comandos se pueden usar. Veamos un par de ejemplos:

  • Para consultar el correo POP mediante el cliente Telnet haremos:
    $ telnet callisto.unm.edu 110
    Trying 192.168.1.2...
    Connected to 192.168.1.2.
    Escape character is '^]'.
    +OK Qpopper (version 4.0.5) at pc266.dominio.com starting.
    > user francis
    +OK Password required for francis.
    > pass *******
    +OK francis has 2 visible messages (0 hidden) in 1381 octets.

    Ver la lista de mensajes y lo que ocupa cada uno:

    > list
    +OK 2 visible messages (1381 octets)
    1 696
    2 685

    Leer el primer mensaje:

    > retr 1
    +OK 696 octets
    Delivery-date: Sat, 02 Jun 2007 02:36:38 +0200
    Received: from Bob by pc266.dominio.com with local (Exim 4.63)
    To: francis@dominio.com
    Subject: Prueba
    ...

    Marcar el segundo mensaje para borrar (no se borra hasta que cerremos la sesión):

    > dele 2
    +OK Message 2 has been deleted.

    Quitar la marca de borrado al segundo mensaje:

    > rset 2
    +OK Maildrop has 2 messages (1381 octets)

    Terminar la sesión:

    > quit
  • Para conectar con el router haremos:
    $ telnet 192.168.1.1
    Trying 192.168.1.1...
    Connected to 192.168.1.1
    Escape character is '^]'
    Username:

    Para obtener ayuda:

    > help
    Following commands are available :
    help             : Displays this help information
    menu             : Displays menu
    ?                : Displays this help information
    exit             : Exits this shell.
    saveall          : Saves current configuration.
    ping             : Send ICMP ECHO_REQUEST packets.
    traceroute       : Send ICMP/UDP packets to trace the ip path.
     
    Following command groups are available :
    firewall        service         autopvc         connection      dhcp
    dns             dsd             dyndns          eth             adsl
    atm             config          debug           env             expr
    hostmgr         igmp            interface       ip              ipqos
    label           language        memm            mlp             nat
    ppp             pptp            script          snmp            sntp
    software        system          systemlog       upnp            user

    Terminar la sesión:

    > exit

1 comentario en “Shell remoto con Telnet en Linux”

  • carlos beltran dice:

    me saca este error al tratar de hacer telnet a un servidor, que puede ser.

    muchas gracias

    CYBA:/home/CarlosRedes # telnet -a 172.18.0.6 3299
    Trying 172.18.0.6…
    Connected to 172.18.0.6.
    Escape character is ‘^]’.
    NI_RTERR&*ERR*1connection timed out-5NI (network interface)70038nirout.cpp5441RTPENDLIST::timeoutPend: CONNECTED timeoutThu May 29 10:43:45 200859SAProuter 38.10 on ‘arcturus’*ERR*Connection closed by foreign host.

Deja un comentario