NEWS
Howto: Terminal & SSH auf Android Gerät installieren
-
Als ioBroker User kommt man mit hoher Wahrscheinlichkeit mal mit einem Android Panel oder Tablett in Berührung.
Aber wie jetzt eine SSH Verbindung darauf machen und auch noch ein (Linux) Terminal?
Hier ein kleines Tutorial.
Ich empfehle Termux und benutze das hier auch.
Als Erstes F-Droid Store installieren. Nehmt die aktuelle Version vom F-Droid Store https://f-droid.org/F-Droid.apk , weil GooglePlay meistens nur ältere Versionen anbietet.
Installiert dann Termux und Termux:Boot aus dem F-Droid Store.
Anschliessend in der Termux Konsole auf dem Android Gerät eingeben:pkg update pkg upgrade pkg install openssh # SSH Server installieren sshd # SSH Dienst starten pkg install whoami # whoami installieren whoami # Resultierende Ausgabe ist der Username (Bsp: u0_a155) passwd # Passwort vergeben
Autostart für SSH setzen:
mkdir -p ~/.termux/boot nano ~/.termux/boot/start-sshd.sh
start-sshd.sh mit folgendem Inhalt:
#!/data/data/com.termux/files/usr/bin/bash termux-wake-lock # Verhindert, dass das Gerät in den Tiefschlaf geht sshd # Startet den SSH-Dienst
Option: Standard Port 8022 ändern:
nano ~/.ssh/config Port 22 # eintragen um Port auf 22 zu ändern
Option: Passwortlose Anmeldung mit SSH-Schlüsseln:
192.168.1.x ist die IP eures Android Gerätes. Ich empfehle DHCP da auszuschalten und eine statische IP zu verwenden.ssh-keygen # Auf PC SSH Schlüssel generieren ssh-copy-id -p 8022 u0_a155@192.168.1.x # Kopiere den öffentlichen Schlüssel nach Termux
Anmelden (per ssh oder Putty):
ssh u0_a155@192.168.1.x -p 8022 # Melde dich nun ohne Passwort an. Natürlich kannst auch Putty verwenden.
Hier ein Beispiel. Dieses Script pingt den ioBroker-Server jede Minute an.
Wenn dieser keine Antwort gibt, gibt das Panel/Tablett einen Alert-Ton aus und versendet eine Telegram Nachricht.pkg install mpv
nano /data/data/com.termux/files/home/ping-check.sh
Folgenden Inhalt da reinschreiben
#!/data/data/com.termux/files/usr/bin/bash # Telegram Bot Token und Chat ID TELEGRAM_TOKEN="DeineToken" CHAT_ID="DeineChatID" PING_IP="192.168.1.x" # IP-Adresse vom iob-Server MESSAGE="ioBroker Server antwortet nicht." # Intervall in Sekunden INTERVAL=60 # Endlosschleife while true; do # Führe 4 Pings aus (-c 4) und prüfe, ob keiner erfolgreich ist if ! ping -c 4 $PING_IP > /dev/null 2>&1; then # Ton abspielen /data/data/com.termux/files/usr/bin/mpv /data/data/com.termux/files/home/alert.mp3 # Telegram Nachricht senden curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_TOKEN/sendMessage" \ -d "chat_id=$CHAT_ID" \ -d "text=$MESSAGE" fi # Wartezeit bis zum nächsten Versuch sleep $INTERVAL done
chmod 744 /data/data/com.termux/files/home/ping-check.sh
Gespeichert habe ich das im Verzeichnis (dank SSH kann man nun auch Filezilla mit SFTP verwenden):
Script:
/data/data/com.termux/files/home/ping-check.shAlert mp3:
/data/data/com.termux/files/home/alert.mp3
alert.mp3Nun noch den Autostart konfigurieren:
nano ~/.termux/boot/start-sshd.sh
Folgenden Inhalt da reinschreiben
#!/data/data/com.termux/files/usr/bin/bash termux-wake-lock # Verhindert den Tiefschlaf sshd # Startet den SSH-Dienst # Starte das Ping-Check-Skript, falls es nicht bereits läuft if ! pgrep -f "/data/data/com.termux/files/home/ping-check.sh" >/dev/null 2>&1; then nohup sh /data/data/com.termux/files/home/ping-check.sh >/dev/null 2>&1 & fi
Zum testen könnt ihr im Script eine nicht erreichbare IP eintragen und von Hand starten:
sh /data/data/com.termux/files/home/ping-check.sh