Jak z routeru spustit skript na PC (Win7) v LAN?

Pavel

Jak z routeru spustit skript na PC (Win7) v LAN?
« kdy: 07. 07. 2012, 00:44:29 »
Chlapi, poraďte mi prosím. Za routerem (ASUS WL-500gx) mám v LAN počítač (Windows 7) na kterém potřebuji spustit konkrétní skript s právy administrátora. Je to možné? Má představa je taková, že z mobilního telefonu se přihlásím přes SSH k routeru a spustím bash, který probudí PC a následně pak na stejném PC spustí skrit (případně aplikaci či službu, to je jedno). Nechci k tomu využívat vpn. Je to možné?



JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Jak z routeru spustit skript na PC (Win7) v LAN?
« Odpověď #1 kdy: 07. 07. 2012, 02:08:59 »
Tak na takovem routeru asi nebude Bash, ale Busybox. Nevim, jak se vam z nej podari vyvolat wake on lan poslanim magickeho packetu. A take nevim, jak z nej spustit skript na Widlich, ledaze byste na nich mel openssh a zalogoval se do nich tak.

Neni mi jasne, zda ten skript chcete na tech Widlich poustet z Busyboxu rucne nebo se ma spustit sam nasledne sam vzdy pri spusteni Widli. Pokud sam, tak to by mely snad widle nejak umet pres system policy nebo jak se to, kde se daji nadefinovat nejake skripty, ktere se spousteji v ruznych situacich.

Pokud se skript nema spoustet vzdy, tak snad jedine nainstalovat na Widle pycron (http://www.kalab.com/freeware/), ktery by si treba osahal ftp server, kde by mohl v nejakem souboru byt priznak, ze se ma spustit skript. Ten by ten priznakovy soubor budto treba vymazal nebo by si treba poznacil datum a cas souboru, aby vedel, ze skript byl na pozadavek tohoto priznaku jiz vykonan. Widle by se pak asi sposutely po telefonu: "Mano, zmackni mi tam na pocitaci vypinac".

Ten skript na Widlich by ale asi bezel spise s pravy uzivatele System.

To, co chcete, by se asi dalo udelat s inteligentnejsim routerem, napriklad s nejakym, kde je nejaky opravdovejsi Linux z alternativniho firmware a kam se daji doinstalovat utilitky a to tak, aby prezily reset. Na tehlech malych routerech jste vetsinou rad, kdyz je tam aspon ssh daemon, pricemz se jedna o nejaky vykuchany, kde vam ani nepujde scp nebo sshfs. Vetsinou tam budto neni nic nebo leda tak telnet.

Takze drzim palce, jsem zvedav, co vymyslite.

Pavel

Re:Jak z routeru spustit skript na PC (Win7) v LAN?
« Odpověď #2 kdy: 07. 07. 2012, 03:17:57 »
WOL řeším přes ether-wake a zda je systém online pak přes arping... Napadlo mě v podstatě to samé, tedy že si PC po spuštění sáhne na router do nějakého souboru, kde bude nějaký příznak, na základě kterého se rozhodne co spustit. Tohle bych tedy zvládl, ale to je bez zpětné odezvy a vzájemný čekování na základě někde uloženého atributu je přístup, kterým bych se nechtěl vydat.

A když se odprostíme od (ne)možností routeru, jak by se to řešilo na stanici s linuxem?

Re:Jak z routeru spustit skript na PC (Win7) v LAN?
« Odpověď #3 kdy: 07. 07. 2012, 08:39:14 »
Pokud by ti nevadilo trochu programování, tak těch možností komunikace máš spoustu - třeba napsat si službu, které po tcp pošleš nějakou zprávu (router# echo "spust winamp" | nc server 1234 ) nebo kdybys chtěl lepší štábní kulturu, tak přes webservices ( router# wget -O /dev/null http://server/pustWinamp ).

Chce to jenom naprogramovat službu, která bude patřičným způsobem naslouchat a bude umět splnit příkaz. Třeba v .NETu to nebude nic složitýho a určitě na to na netu najdeš nějakej tutoriál, kterej bude stačit jenom poupravit...

A když se odprostíme od (ne)možností routeru, jak by se to řešilo na stanici s linuxem?

Nejspíš sshčkem s přihlášením pomocí klíčů:
Kód: [Vybrat]
router# ssh -o PasswordAuthentication=no -o PubkeyAuthentication=yes user@server "mujvypecenyskript jestevypecenejsiparametr"

Teoreticky by tohle šlo i na Windows rozjet pomocí Cygwinu, ale to by byl větší opruz, než si to naprogramovat...

Adam

Re:Jak z routeru spustit skript na PC (Win7) v LAN?
« Odpověď #4 kdy: 07. 07. 2012, 10:18:24 »
Tohle jsem dělal na WinXP, ale předpokládám, že to bude na Win7 fungovat stejně:
Probuzení PC pomocí ether-wake (to vcelku funguje). Na PC nainstalovaný program/službu "LogMon", který umí hlídat změny v souborech a reagovat na ně (spustit program/script, apod.). Program byl nasměrovaný na hlídání sdílené ("samba") složky na routeru, kam stačilo kopírovat soubory příkazů. (Teoreticky by šlo i nakopírovat tam nějaký ".bat" či ".cmd" a ten prostě vykonat, ale tak nějak by to bylo "ne tak docela bezpečné".)


Pavel

Re:Jak z routeru spustit skript na PC (Win7) v LAN?
« Odpověď #5 kdy: 08. 07. 2012, 00:28:53 »
Nejspíš sshčkem s přihlášením pomocí klíčů:
Kód: [Vybrat]
router# ssh -o PasswordAuthentication=no -o PubkeyAuthentication=yes user@server "mujvypecenyskript jestevypecenejsiparametr"

Tahle varianta se mi líbí nejvíc. Momentálně zkouším nějaký freesshd, ale zatím se mi nedaří spustit přes putty příkaz ani na samotným systému :) Vždy mi to nějak vytuhne. Ještě si s tím zkusím pohrát.. Ale výbornej tip, díky!

Chce to jenom naprogramovat službu, která bude patřičným způsobem naslouchat a bude umět splnit příkaz. Třeba v .NETu to nebude nic složitýho a určitě na to na netu najdeš nějakej tutoriál, kterej bude stačit jenom poupravit...

Pokud si neporadím s SSH, pak zkusím tuhle druhou variantu. Tady asi nebudu mít tolik práce se serverem, jako s klientem na linuxu. Uvidíme... Díky ještě jednou.

Pavel

Re:Jak z routeru spustit skript na PC (Win7) v LAN?
« Odpověď #6 kdy: 08. 07. 2012, 03:31:55 »
A je to! Velký trápení s freesshd ukončeno -na tomhle SW se mi nic nepodařilo spustit, takže jsem nainstaloval WinSSHD a vše šlape jako hodiny hned napoprvé. V mém případě se ssh volá takto:

Kód: [Vybrat]
ssh <account>@<ip> -p <port> -i <rsa-key> "command"
Plní to přesně můj účel, navím se teď můžu seznámit s další šikovnou utilitou (WinSSHD). Jsem rád, že jsem nebyl línej otevřít pusu.

Díky všem za tipy a inspirace!