ubuntuusers.de

Reconnect Script für Router

Status: Gelöst | Ubuntu-Version: Ubuntu 9.04 (Jaunty Jackalope)
Antworten |

GeforceGamer

Anmeldungsdatum:
4. Juni 2009

Beiträge: 7

Hallo Ich suche ein Reconnect Script für meine Linksys WRT54GL Router mit openWRT Betriebsystem. Wie man ihn reconnect habe ich schon heraus gefunden das geht mit folgenden Befehlen:

ssh root@IP_des_Routers
dann das Passwort eingeben
if wan down
if wan up
exit

So kann man ihn reconnecten. Aber kann mir jemand helfen das als ein Script zu schreiben was dann automatisch bei ausführung reconnect ohne das ich die ganzen Befehle in die Konsole eingebe?

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

Leg das Skript

#!/bin/bash
if wan down
if wan up

auf deinem Router ab. Richte dann SSH so ein, dass du dich per Schlüsseldatei auf deinem Router einloggen kannst ohne ein PW einloggen zu müssen

SSH#Authentifizierung-ueber-Public-Keys

und starte dann das Skript auf dem Router über

ssh root@IP_des_Routers skriptname

GeforceGamer

(Themenstarter)

Anmeldungsdatum:
4. Juni 2009

Beiträge: 7

so habe jetzt erstmal einen key mit dem ssh keygen gerneriert. Aber beim ssh key kopieren bekomme ich einen fehler:

ssh-copy-id -i ~/.ssh/id_dsa.pub root@192.168.1.1
/usr/bin/ssh-copy-id: ERROR: No identities found
e

wenn ich den key einsehen könnte würde mir das reichen weil ich kann ihn per webinterface im router eintragen

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

Unter welchem Benutzer führst du das aus? Bitte

ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_dsa.pub ...

als einfacher User und ohne sudo ausführen.

GeforceGamer

(Themenstarter)

Anmeldungsdatum:
4. Juni 2009

Beiträge: 7

Das mit dem SSH habe ich nun geschaft jetzt muss ich es nur noch schaffen das script auf den Router zu bekommen und ein script zu schreiben welches das script auf dem router ausführt.

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

Du solltest dich mal ein bisschen mit SSH beschäftigen ☺

scp diesistdeinskript root@192.168.1.1:/pfad/wohin/dasdingsoll/

Alternativ könntest du das sogar mit Nautilus machen. Nautilus#Entfernte-Dateisysteme

GeforceGamer

(Themenstarter)

Anmeldungsdatum:
4. Juni 2009

Beiträge: 7

Leider kann ich das script nicht ausführen auf dem Router.

root@OpenWrt:~# ./reconnect
-ash: ./reconnect: Permission denied
root@OpenWrt:~# 
root@OpenWrt:~# chmod 777 reconnect                            
root@OpenWrt:~# ./reconnect
-ash: ./reconnect: not found
root@OpenWrt:~# ./reconnect.sh
-ash: ./reconnect.sh: not found
root@OpenWrt:~# ./reconnect   
-ash: ./reconnect: not found
root@OpenWrt:~# ls -l
-rwxrwxrwx    1 root     root           34 May 31 13:22 reconnect
root@OpenWrt:~# 
e

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

Erstmal: Nie mehr rechte als nötig

chmod 700 reconnect

reicht wohl... Dann könnte es gut sein, dass OpenWRT keine Bash benutzt. Was sagt denn

echo $SHELL

auf dem Router ausgeführt?

GeforceGamer

(Themenstarter)

Anmeldungsdatum:
4. Juni 2009

Beiträge: 7

Ja das geht jetzt. Jetzt brauch ich nur noch ein script was ich auf dem PC ausführe

GeforceGamer

(Themenstarter)

Anmeldungsdatum:
4. Juni 2009

Beiträge: 7

Habe es jetzt mit:

#!/bin/bash
ssh root@192.168.1.1 ./reconnect

gelöst. Aber gibt es auch eine Möglichkeit das das Shell script direkt in der Konsole ausgeführt wird ohne das ich beim starten "im Terminal ausführen" anklicken muss?

Antworten |