[…] http://blog.is-a-geek.org/ubuntu-server-mit-hilfe-von-sms-nachrichten-fernsteuern […]
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.
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”
Track/Pingpacks zu “Ubuntu Server mit Hilfe von SMS Nachrichten fernsteuern”
-
Linux sms-gateway | xCue 18. Dezember 2013 um 12:16
Kommentar abgeben
Kategorien
- Allgemein (9)
- Anderes (6)
- DIY Anleitungen (8)
- Downloads (22)
- HTC (16)
- Linux (35)
- Server (29)
- Windows (8)
Neueste Beiträge
- Tor Relay auf Ubuntu 14.04 zur Verfügung stellen
- Sogo Upgrade von Version 2 auf Version 3 auf Ubuntu 14.04
- Download: Lustige und sinnlose Feiertage im November 2012 als ICS Datei
- Skype-Symbol auf Windows 7 aus der Taskleiste verschwinden lassen
- Statische IP ab Ubuntu Server 12.04 LTS Precise Pangolin
Folge uns auch via
Archiv
WERBUNG
Featured Video
Kalender
M | D | M | D | F | S | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Meta
Unterstützt mich
futurezone.at – Newsfeed
- Weltweit erster 1.000-Meter-Wolkenkratzer wird doch fertiggebaut 8. Oktober 2024
- Iran schützt sich mit chinesischer Laserwaffe vor Israels Drohnen 8. Oktober 2024
- Tesla Model 3 mit "größter Reichweite aller Zeiten" kommt nach Österreich 8. Oktober 2024
- 12 Prime-Day-Angebote unter 30 Euro, die ihr euch ansehen solltet 8. Oktober 2024
- Physik-Nobelpreis geht an KI-Forscher 8. Oktober 2024
wär fein wenn das sh script und sms server tools mit mysql gehen würden
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
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?