Apr
7
2011

Ubuntu Server mit Hilfe von SMS Nachrichten fernsteuern  Print This Post

Autor admin    Kategorie Linux, Server     Tags , , , ,

Ubuntu Server mit Hilfe von SMS Nachrichten fernsteuern Den Server per SMS Nachrichten zu steuern ist eine gute Notlösung. Diese kann vor allem sehr hilfreich sein, wenn die Internetverbindung einmal abbricht und man z.B. den Router über den Server neu starten möchte oder der ddclient die IP wieder einmal nicht updatet. In dieser Anleitung zeige ich euch, wie ihr den Dienst installiert/einrichtet und einige Anwendungsbeispiele gibts auch.

Für dieses Projekt braucht man zusätzlich natürlich irgendeinen Internetstick, welcher am Server angesteckt ist. Ich benutze einen Huawei E220, es sollten jedoch auch andere funktionieren. Softwareseitig baue ich auf “SMS Server Tools“, welche es ermöglichen bei Empfang einer SMS Nachricht ein Skript zu starten.

Ubuntu Server mit SMS fernsteuern 1

Huawei E220 Bild 1

Installation

Als Vorbereitung installieren wir zusätzlich benötigte Pakete:

sudo apt-get install build-essential manpages-dev

Jetzt laden wir die “SMS Server Tools” in das “home” Verzeichnis herunter. Vorher könntet ihr noch auf der Herstellerseite nachsehen, ob es sich um die neueste Version handelt, da diese Software aktiv weiterentwickelt wird und es immer wieder Updates gibt. Den folgenden Befehl müsst ihr dann anpassen.

wget -P ~/ http://smstools3.kekekasvi.com/packages/smstools3-3.1.14.tar.gz

Wir entpacken das Installationsarchiv:

tar -xzf ~/smstools*.tar.gz

Nun wechseln wir in dieses Verzeichnis und kompilieren/installieren die Software:

cd ~/smstools*
make
sudo make install

Im Zuge der Installation werden auch die Order für eingehende usw. Nachrichten in “/var/spool/sms” angelegt.

Konfiguration des Modems

Um das Modem in der Konfigurationsdatei richtig anzugeben, müssen wir wissen mit welcher USB-Schnittstelle dieses verbunden ist (Modem muss natürlich angesteckt sein).

dmesg | grep ttyUSB

Sieht die Ausgabe folgendermaßen aus, sieht man in diesem Fall, dass das Modem an “ttyUSB0” hängt. Manche Modems erscheinen als wären sie zwei mal angeschlossen. Dann muss man einfach durchprobieren, mit welchem es funktioniert.

[ 5374.832889] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0

Jetzt öffnen wir die Konfigurationsdatei der Server Tools und geben dort die Daten des Modems ein.

sudo nano /etc/smsd.conf

Hier ändert man “device” auf das vorhin Herausgefundene und übergeben auch die PIN, sofern man sie nicht deaktiviert hat (ansonsten einfach löschen).

[GSM1]
device =  /dev/ttyUSB0
incoming = yes
pin = xxxx

Danach starten wir den Service neu und schicken eine SMS an den Server.

sudo service sms3 restart

Ist die SMS angekommen wird sie unter “/var/spool/sms/incoming” gespeichert und wir können mit dem nächsten Schritt fortfahren.

Scripts ausführen

Um bei eingehender Nachricht ein Script auszuführen, müssen wir folgende Zeile in die “/etc/smsd.conf” einfügen:

eventhandler = /usr/local/bin/smsscript.sh

Speichert ihr das Script an einer anderen Stelle, dann passt die Zeile an. Meine komplette Konfig-Datei sieht jetzt so aus:

devices = GSM1
logfile = /var/log/smsd.log
loglevel = 7

eventhandler = /usr/local/bin/smsscript.sh

[GSM1]
device =  /dev/ttyUSB0
incoming = yes
pin = xxxx

Dieses Skript erstellen wir und machen es ausführbar.

sudo touch /usr/local/bin/smsscript.sh && sudo chmod +x /usr/local/bin/smsscript.sh

Und wieder den Service neu starten:

sudo service sms3 restart

Script und Anwendungsbeispiele

Das nachfolgende Sampleskript vergleicht das Passwort welches am am Anfang der Datei definiert wird mit dem der Nachricht und führt erst dann den Befehl aus.

Die Befehle und das Passwort werden in Großbuchstaben umgewandelt, da auf Telefonen meistens die Autokorrektur aktiviert ist, welche teilweise Anfangsbuchstaben korrigiert. Aus diesem Grund müsst ihr auch das Passwort in Großbuchstaben in das Skript schreiben. Die SMS selbst ist nicht case sensitive, also Groß- und Kleinschreibung werden nicht beachtet.

Das Passwort sorgt hier für etwas Sicherheit. Man könnte auch eine Whitelist erstellen, wodurch “SMS Server Tools” dann nur enthaltene Telefonnummern akzeptiert.

Um dieses Script zu verwenden muss die Nachricht so aussehen:

passwort befehl

Wird das Passwort erkannt, führt das Skript je nach übermittelten Befehl den richtigen Case aus. Für zusätzliche Anwendungen könnt ihr einfach weitere Cases hinzufügen. Kopiert den folgenden Code (nach Anpassungen) in die “/usr/local/bin/smsscript.sh” Datei.

Download: smsscript.sh

#!/bin/bash
PASSWORD="XYZ"

if [ "$1" = "RECEIVED" ]; then

  TEXT=`sed -e '1,/^$/ d' < $2`

  # Make text uppercase:
  TEXT=`echo "$TEXT" | tr "a-z" "A-Z"`

  RCVPASS=`echo "$TEXT" | cut -d" " -f1`
  ACTION=`echo "$TEXT" | cut -d" " -f2`

  if [ "$PASSWORD" = "$RCVPASS" ]; then

      case $ACTION in
      
        #Reboot Server
        REBOOT)
          reboot
        ;;
        
        #Shutdown Server
        SHUTDOWN)
          shutdown -h now
        ;;
        
        #Reboot DDWRT Router
        REBOOTROUTER)
          plink root@routerip -pw passwort "reboot"
        ;;
        
        #Reconnect DDWRT Router
        RECONNECTROUTER)
          plink root@routerip -pw passwort "stopservice wan && startservice wan"
        ;;   
        
      esac

   fi

fi

#Reboot Server / PASSWORT REBOOT
Standardmäßiger Neustart des Servers.

#Shutdown Server / PASSWORT SHUTDOWN
Dieser Befehl fährt den Server herunter.

#Reboot DDWRT Router / PASSWORT REBOOTROUTER
Um “plink”-Anweisungen zu verwenden müssen die Putty-Tools installiert sein.

sudo apt-get install putty-tools

Danach aktiviert man SSHd am Router um die Steuerung per SSH zu ermöglichen. Dieser Plink Befehl sendet ein einfaches “reboot” an den Router.

plink root@routerip -pw passwort "reboot"

#Reconnect DDWRT Router / PASSWORT RECONNECTROUTER
Dieser Befehl beendet die Internetverbindung am DDWRT Router und verbindet danach wieder.

plink root@routerip -pw passwort "stopservice wan && startservice wan"

Dienst automatisch Starten

Manuell startet man die “SMS Server Tools” mit:

sudo service sms3 start

Automatisch beim Boot starten:

sudo update-rc.d sms3 defaults

Vielen Dank an die Entwickler und fröhliches SMSen!

4 Kommentare zu “Ubuntu Server mit Hilfe von SMS Nachrichten fernsteuern”

  • #1  mark 30. Dezember 2011 um 04:18

    wär fein wenn das sh script und sms server tools mit mysql gehen würden

  • #2  F.Ernst 4. Juli 2015 um 13:36

    Hi, cooles tutorial!

    hab nur ein Problem, hab das verzeichnis runtergeladen und entpackt. wenn ich jetzt den fehelh “make” eingebe kommt bei mir:

    cd src && make –
    make[1]: Entering directory ‘/root/smstools3/src’
    Makefile:51: *** recipe commences before first target. Schluss.
    make[1]: Leaving directory ‘/root/smstools3/src’
    Makefile:10: recipe for target ‘compile’ failed
    make: *** [compile] Error 2

    kannst du mir da weiterhelfen ?

    mfg

  • #3  thogme 11. November 2016 um 14:31

    Hallo

    Funktioniert bei mir alles super…. Habe noch eine frage und zwar, möchte das ganze ohne password steuern, bin kein guter Programmierer, habe versucht gewisse Linien “#” aber ohne erfolg….. Könnt ihr mir helfen?

Track/Pingpacks zu “Ubuntu Server mit Hilfe von SMS Nachrichten fernsteuern”

Kommentar abgeben

Kategorien

Neueste Beiträge

Folge uns auch via

Facebook Facebook RSS RSS
Werdet ein Fan und bekommt die neuesten Beiträge bei Erscheinen im Netzwerk eurer Wahl angezeigt.

Archiv

WERBUNG

Featured Video

Kalender

Oktober 2024
M D M D F S S
 123456
78910111213
14151617181920
21222324252627
28293031  

Meta

Unterstützt mich

Wenn ihr mich unterstützen möchtet, könnt ihr mir gerne ein Bier spendieren.

RSS futurezone.at – Newsfeed

Schlagwörter

Letzte Kommentare

  • Andere Blogs

    • Giveaway of the day
      Bietet jeden Tag eine kostenlose lizenzierte Software an, die man sonst kaufen müsste.
    • Lifehacker
      Daily weblog on software and personal productivity recommends downloads, web sites and shortcuts.
    • Netzpolitik
      Blog und eine politische Plattform für Freiheit und Offenheit im digitalen Zeitalter.
    • Slashgear
      Englischer Blog, welcher euch über neue Hardware informiert.
    • Webdomination
      Gute Softwaretipps rund um Windows, Linux und den Mac.
  • IT News

    • Computerwelt
      Österreichs große EDV-Zeitung für IT-Profis und EDV-Entscheider.
    • Futurezone
      Österreichs führende Hightech-Seite. Nachrichten, Interviews und Analysen aus Digital Life, IT-Business und Netzpolitik.
    • Heise IT News
      News und Foren zu Computer, IT, Wissenschaft, Medien und Politik.
    • Slashdot
      Source for technology related news with a heavy slant towards Linux and Open Source issues.
  • Witzige Links

    • Failblog
      Fail and Epic Fail Pictures and Videos in one blog.
    • German Bash
      Die bekannteste deutsche IRC (Chat) Zitate Datenbank. Nur hier gibts die Originale!
    • Snotr
      Kleines unscheinbares Videoportal mit kleinen lustigen Clips und Kurzfilmen.
    • The Daily WTF
      Curious Perversions in Information Technology
    • There, I fixed it
      Innovative Ansätze Dinge zu reparieren.
  • Foren usw

    • HTC
      Die High Tech Computer Corporation (HTC) ist ein Hersteller von Mobiltelefonen.
    • Quefi.de
      Diverse Anleitungen der Quer Frei und Ideal Community.
    • Ubuntuforums
      Das wohl aktivste Forum rund um Ubuntu-Linux.
    • XDA-Developers
      The Largest Community for Smartphone Hacks and Development of Apps.
    • Yeti Adventures
      Canyoning mit einem der erfahrensten und geprüften Führer in Süd Tirol.