Search code examples
bashshelltelnet

Run script when someone telnet my server


I Have:

1) Droplets on DigitalOcean ubuntu/debian/fedora

2) Simple script that echoes something "script.sh"

I want:

When someone telnets my Server from terminal: telnet MY_DROPLET_IP make my script.sh execute in his terminal and exit after that.

To sum up, I need something like this(check this out): telnet towel.blinkenlights.nl


Solution

  • installation:

    sudo apt-get install xinetd telnetd
    

    /etc/xinetd.d/telnet file content:

    service login
    {
        port            = 23 
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = root
        server          = /usr/bin/script.sh       
        server_args     = test
    }
    

    /etc/xinetd.conf content:

    {
    # Please note that you need a log_type line to be able to use log_on_success
    # and log_on_failure. The default is the following :
    # log_type = SYSLOG daemon info
    instances = 60
    log_type = SYSLOG authpriv
    log_on_success = HOST PID
    log_on_failure = HOST
    cps = 25 30
    }
    
    includedir /etc/xinetd.d
    

    /etc/inetd.conf content:

    telnet      stream  tcp nowait telnetd  /usr/bin/script.sh
    

    Restart xinetd:

    /etc/init.d/xinetd restart
    

    EDIT: Don't forget

    chmod +x /usr/bin/script.sh