[Frage] Wol über SSH

A

ahmedahmed

Guest
Hallo, möchte gerne mein PC über Putty starten!

Das Funktioniert:
Starten über Fritzbox Weboberfläche
Starten über Freetz Wol Weboberfläche

Laut Freetz habe ich das ins "rc.custom" eingetragen.
Code:
# Skript für 'wakeup HOSTNAME' erstellen
# WAKEUPPATH should be root's homedirectory, if you want to login via
# ssh [email protected] './wakeup HOSTNAME'
WAKEUPPATH=~root
WAKEUP=$WAKEUPPATH/wakeup
echo 'PATH=$PATH:'$WAKEUPPATH >> ~root/.profile
touch $WAKEUP
chmod +x $WAKEUP
echo '#!/bin/sh' >> $WAKEUP
echo 'test -z "$1" && echo "Syntax: wakeup HOSTNAME" && return 1' >> $WAKEUP
echo '# Hostname auf Macadresse mappen (steht in /var/tmp/ethers)' >> $WAKEUP
echo 'macadresse=$(sed -ne "/[[:blank:]]$1$/{s/[[:blank:]].*$//p;q}" /var/tmp/ethers)' >> $WAKEUP
echo 'test -z "$macadresse" && echo "Macadresse von $1 wurde nicht gefunden!" && return 1' >> $WAKEUP
echo '# Etherwake ausführen' >> $WAKEUP
echo 'ether-wake $macadresse 2> /dev/null' >> $WAKEUP

und soweit ich es verstanden habe soll ich ./wakeup HOSTNAME ins ssh eingeben, nachdem ich Login gemacht habe aber da kommt diese Fehlermeldung:
Unbenannt.png

Muss ich im rc.custom nichts ändern? danke mfg ahmedahmed
 
Versuchs mal mit
Code:
WAKEUPPATH=[B]/[/B]root
in der 4. und mit
Code:
echo 'PATH=$PATH:'$WAKEUPPATH >> [B]/[/B]root/.profile
in der 6. Zeile. Dann log dich mal ein und mach ein
Code:
cat ./wakeup
, dann sollte ein kleines Script angezeigt werden.
 
Zuletzt bearbeitet:
Code:
root@fritz:/var/mod/root# cat ./wakeup
cat: can't open './wakeup': No such file or directory
root@fritz:/var/mod/root#

Passiert nichts. Muss ich im script nichts aendern? Ich meine von wo weis er welchen MAC/PC er anpipsen soll??

danke
 
Du musst natürlich die von mir geposteten Zeilen im Script ändern. Dann einloggen und nochmal versuchen mit "./wakeup derNamedesPCsimNetzwerk"
 
Also so steht es gerade drin:

Code:
# Skript für 'wakeup HOSTNAME' erstellen
# WAKEUPPATH should be root's homedirectory, if you want to login via
# ssh [email protected] './wakeup HOSTNAME'
WAKEUPPATH=/root
WAKEUP=$WAKEUPPATH/wakeup
echo 'PATH=$PATH:'$WAKEUPPATH >> /root/.profile
touch $WAKEUP
chmod +x $WAKEUP
echo '#!/bin/sh' >> $WAKEUP
echo 'test -z "$1" && echo "Syntax: wakeup HOSTNAME" && return 1' >> $WAKEUP
echo '# Hostname auf Macadresse mappen (steht in /var/tmp/ethers)' >> $WAKEUP
echo 'macadresse=$(sed -ne "/[[:blank:]]$1$/{s/[[:blank:]].*$//p;q}" /var/tmp/ethers)' >> $WAKEUP
echo 'test -z "$macadresse" && echo "Macadresse von $1 wurde nicht gefunden!" && return 1' >> $WAKEUP
echo '# Etherwake ausführen' >> $WAKEUP
echo 'ether-wake $macadresse 2> /dev/null' >> $WAKEUP

habe WOL Dienst neugestartet dannach mit SSH eingeloggt und deine angaben eingegeben:
Unbenannt.png

danke
 
Hallo ahmedahmed,

was passiert denn, wenn du in der SSH-Konsole folgendes eingibst:

ether-wake -i eth0 00:11:22:33:44:55

Das Grüne musst du dabei durch die MAC-Adresse ersetzen, die geweckt werden soll.

Joe
 
Das script sieht gut aus. Markiere das ganze Script (Strg+C), log dich mal per SSH ein und füge es per SHIFT+Einfg in Putty ein. Dann Return drücken. Jetzt sollte "cat /root/wakeup" gehen.
 
Hallo ahmedahmed,

was passiert denn, wenn du in der SSH-Konsole folgendes eingibst:

ether-wake -i eth0 00:11:22:33:44:55

Das Grüne musst du dabei durch die MAC-Adresse ersetzen, die geweckt werden soll.

Joe

y.png

Dann startet mein PC

Das script sieht gut aus. Markiere das ganze Script (Strg+C), log dich mal per SSH ein und füge es per SHIFT+Einfg in Putty ein. Dann Return drücken. Jetzt sollte "cat /root/wakeup" gehen.

x.png

Nur Fehlermeldung :(

Ziel ich möchte nur wakeup PCNAME eintippen und mein PC sollte sich starten, ohne MAC Adresse auswendig zu wissen.

danke nochmal leute :)
 
Kannst Du die Ausgaben hier als Text in CODE einfügen? Das ist weitaus besser lesbar als die Bilder.

Wie man sieht, existiert das Verzeichnis /root nicht auf der Box.
 
Wenn /root nicht existiert, ist es klar, dass es nicht geht. Wusste nicht, dass es in Freezt bei /var/mod/root ist. ;) Ändere mal folgende Zeilen so um:
Code:
WAKEUPPATH=[B]/var/mod[/B]/root
WAKEUP=$WAKEUPPATH/wakeup
echo 'PATH=$PATH:'$WAKEUPPATH >> [B]/var/mod[/B]/root/.profile
Dann wieder wie oben beschrieben:
Script markieren (Strg+C), log dich mal per SSH ein und füge es per SHIFT+Einfg in Putty ein. Dann Return drücken.
Anschließend: "cat /var/mod/root/wakeup" und dein Script sollte angezeigt werden. Wenn das funktioniert, kannst du "wakeup NameDeinesPCs" versuchen.
 
ich glaub da fehlt noch ein kleinigkeit:

Unbenannt.png

Bildcode:

Code:
login as: root
[email protected]'s password:
   __  _   __  __ ___ __
  |__ |_) |__ |__  |   /
  |   |\  |__ |__  |  /_

   The fun has just begun ...


BusyBox v1.18.4 (2012-03-06 00:31:57 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.

root@fritz:/var/mod/root# # Skript für 'wakeup HOSTNAME' erstellen
root@fritz:/var/mod/root# # WAKEUPPATH should be root's homedirectory, if you want to login via
root@fritz:/var/mod/root# # ssh [email protected] './wakeup HOSTNAME'
root@fritz:/var/mod/root# WAKEUPPATH=/var/mod/root
root@fritz:/var/mod/root# WAKEUP=$WAKEUPPATH/wakeup
root@fritz:/var/mod/root# echo 'PATH=$PATH:'$WAKEUPPATH >> /var/mod/root/.profile
root@fritz:/var/mod/root# touch $WAKEUP
root@fritz:/var/mod/root# chmod +x $WAKEUP
root@fritz:/var/mod/root# echo '#!/bin/sh' >> $WAKEUP
root@fritz:/var/mod/root# echo 'test -z "$1" && echo "Syntax: wakeup HOSTNAME" && return 1' >> $WAKEUP
root@fritz:/var/mod/root# echo '# Hostname auf Macadresse mappen (steht in /var/tmp/ethers)' >> $WAKEUP
root@fritz:/var/mod/root# echo 'macadresse=$(sed -ne "/[[:blank:]]$1$/{s/[[:blank:]].*$//p;q}" /var/tmp/ethers)' >> $WAKEUP
root@fritz:/var/mod/root# echo 'test -z "$macadresse" && echo "Macadresse von $1 wurde nicht gefunden!" && return 1' >> $WAKEUP
root@fritz:/var/mod/root# echo '# Etherwake ausführen' >> $WAKEUP
root@fritz:/var/mod/root# echo 'ether-wake $macadresse 2> /dev/null' >> $WAKEUP
root@fritz:/var/mod/root# cat /var/mod/root/wakeup #!/bin/sh
test -z "$1" && echo "Syntax: wakeup HOSTNAME" && return 1
# Hostname auf Macadresse mappen (steht in /var/tmp/ethers)
macadresse=$(sed -ne "/[[:blank:]]$1$/{s/[[:blank:]].*$//p;q}" /var/tmp/ethers)
test -z "$macadresse" && echo "Macadresse von $1 wurde nicht gefunden!" && retur     n 1
# Etherwake ausführen
ether-wake $macadresse 2> /dev/null
root@fritz:/var/mod/root# wakeup raid0
-sh: wakeup: not found
root@fritz:/var/mod/root# wakeup raid0
-sh: wakeup: not found
root@fritz:/var/mod/root# wakeup pc1
-sh: wakeup: not found
root@fritz:/var/mod/root# wakeup
-sh: wakeup: not found
root@fritz:/var/mod/root#

Das steht im "ethers":

Code:
00:17:31:FB:93:5D	192.168.178.1

Das steht im "wakeup":

Code:
#!/bin/sh
test -z "$1" && echo "Syntax: wakeup HOSTNAME" && return 1
# Hostname auf Macadresse mappen (steht in /var/tmp/ethers)
macadresse=$(sed -ne "/[[:blank:]]$1$/{s/[[:blank:]].*$//p;q}" /var/tmp/ethers)
test -z "$macadresse" && echo "Macadresse von $1 wurde nicht gefunden!" && return 1
# Etherwake ausführen
ether-wake $macadresse 2> /dev/null

danke
 
Das wird so nix!

Mal ne Frage: Wo hast du das script her? Dein Hostname "RAID0" steht nicht in der /var/tmp/ethers, also kann das script nicht wissen, welche MAC es aufwecken soll. Wenn du ne Datei hast, in der die MAC-adresse UND der Hostname in einer Zeile stehen, kann ich dir das Script anpassen. Mit deiner "ethers" wird es nicht funktionieren.

Heißt dein PC "RAID0"? Wo ist das definiert? Ich kenne mich mit Freetz nicht aus, aber was gibt "cat /etc/ethers" und "cat /etc/hosts" aus?
 
Ich weis nicht was ich gemacht habe aber diesmal kommt sowas:

Code:
root@fritz:/var/mod/root# wakeup
Syntax: wakeup HOSTNAME
root@fritz:/var/mod/root# wakeup RAID0
Macadresse von RAID0 wurde nicht gefunden!
root@fritz:/var/mod/root#

Wo muss ich mein hostname reinschreiben?

Heißt dein PC "RAID0"? Wo ist das definiert? Ich kenne mich mit Freetz nicht aus, aber was gibt "cat /etc/ethers" und "cat /etc/hosts" aus?

Code:
root@fritz:/var/mod/root# cat /etc/ethers
00:17:31:FB:93:5D       192.168.178.1
root@fritz:/var/mod/root# cat /etc/hosts
192.168.178.21  192.168.178.1 RAID0
127.0.0.1       localhost
192.168.178.1   fritz.box       fritz.nas       fritz.fonwlan.box

danke

Script habe ich aus dem "Freetz".
 
Zuletzt bearbeitet von einem Moderator:
Schreib doch mal ins Freetz-Forum. Ich sehe keine Datei, in der die MAC des PCs "RAID0" (offensichtlich 192.168.178.21) steht.
 
Code:
root@fritz:/var/mod/root# cat /etc/ethers
00:17:31:FB:93:5D       192.168.178.1
root@fritz:/var/mod/root# cat /etc/hosts
192.168.178.21  192.168.178.1 RAID0
127.0.0.1       localhost
192.168.178.1   fritz.box       fritz.nas       fritz.fonwlan.box
"Offensichtlich" ist "RAID0" ein alternativer Name für "192.168.178.1". Und in der Datei ethers steht der Rechner nicht unter dem alternativen Namen "RAID0", sondern unter dem Namen "192.168.178.1".
 
"Offensichtlich" ist "RAID0" ein alternativer Name für "192.168.178.1". Und in der Datei ethers steht der Rechner nicht unter dem alternativen Namen "RAID0", sondern unter dem Namen "192.168.178.1".

Stimmt wenn ich wakeup 192.168.178.1 eintippe dann startet mein PC :)

Nur wie kann ich das jetzt ändern? Ich habe versucht per WinSCP zu ändern nur speichert er nichts. Bleibt beim alten...

habs hinbekommen

danke
 
Zuletzt bearbeitet von einem Moderator:
Wenn du deine Erkenntnisse mit anderen teilst, haben alle was davon. Besonders die, welche vor dem gleichen Problem stehen und eine Lösung suchen ;)
 
Habe mich mit WinSCP eingeloggt, dannach ins "/etc" ordner und "/ethers" mit Notepad++ gestartet. Und mein "192.168.178.1" eintrag zu meiner gewünschten Name "raid0" unbenannt.

Das wars :)

mfg ahmedahmed
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.