Fórum Root.cz
Hlavní témata => Distribuce => Téma založeno: Paulie 10. 06. 2014, 21:41:31
-
Ať dělám co dělám tak nejsem schopný zařídit aby se po nabootování OpenWRT (12.09) v routeru provedl příkaz zapsaný v /etc/rc.local. Je to spuštění SSH tunelu, vypadá to takto:
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
PATH=/bin:/sbin:/usr/bin:/usr/sbin
export $PATH
autossh -M 5000 -R 0.0.0.0:2022:192.168.1.1:22 tunel@xxx.xxx.xxx.xxx -p 2222 -i /root/.ssh/id_rsa -N
exit 0
To nastavení proměnné $PATH jsem někde našel že by mohlo pomoct, no nepomohlo. A já už fakt netuším co by to mohlo být. Protože ten příkaz je přitom zcela v pořádku, když ho spustím z příkazového řádku ručně tak funguje jak má.
-
Jsi si jistý, že se nespustí? Nemůže to být tak, že se spustí příliš brzo a skončí neúspěchem?. V době, kdy se spouští rc.local ještě obvykle není nahozená WAN, takže selže resolvování DNS a nikam se to nepřipojí.
-
No tak to mě nenapadlo. A kam bych ho měl dát, aby se spustil ve správný čas?
-
Nějak tomu s tou PATH nerozumím, proč prostě neuvedeš celou cestu k tomu autossh?
-
P.S. Už ses k tomu na tom stroji někdy jako root připojil? Jinak ti to asi vychcípne na dotazu na ověření fingerprintu klíče.
P.P.S. Jestli myslíš, že se to pouští moc brzo, tak si tam dej třeba sleep 20.
-
Připojil, když ten příkaz zadám manuálně, tak to funguje, když ho zadám s & na konci tak to funguje dokud není router vypnut - v tom to fakt nebude. Jinak absolutní cestu k autossh jsem taky zkoušel, a bez výsledku
-
a kdyz pustis primo ten skript?
/etc/rc.local
jestli to bude nejak blbnout, tak muzes zkusit debug, kdyz na prvnim radku rc.local doplnis -x #!/bin/sh -x
a co rika toto u rc.local? chconfig
-
Co takhle zkusit pohledat nejdřív na webech openwrt nebo na Internetu?
Možná to není ono, ale co tohle:
https://dev.openwrt.org/ticket/12736 (https://dev.openwrt.org/ticket/12736)
Osobně autorespawn ssh klienta (nebo čehokoliv jiného) řeším na OpenWrt takto:
- Volitelně: nainstalovat plnotučného ssh klienta (openssh-client), pokud to co chceme, ten z dropbeara neumí
- do /etc/inittab přidat požadovaný řádek s ssh příkazem (příklad).:
::respawn:/usr/bin/ssh -t -t -i /etc/ssh/my_id_dsa -o ServerAliveInterval=20 -p 12345 username@IP_address command
- restart OpenWrt a autossh netřeba
-
Bohužel, ale opravdové ssh (openssh-client) do toho routoeru nedostanu - holt 4 MB úložného prostoru, ve kterém po instalaci OpenWRT zbyde 800 kB nestačí. Balíček se sice stáhne, ale pak to skončí chybou, že už není místo na to ho rozbalit.
-
Myslím, že to co hledáš, jsou skripty v cestě /etc/hotplug/iface.
-
Bohužel, ale opravdové ssh (openssh-client) do toho routoeru nedostanu - holt 4 MB úložného prostoru, ve kterém po instalaci OpenWRT zbyde 800 kB nestačí. Balíček se sice stáhne, ale pak to skončí chybou, že už není místo na to ho rozbalit.
Nezlobte se, ale psal jsem jasně Volitelně:, pouze pokud potřebujete plnotučného ssh klienta, tak si ho nainstalujte.
Jelikož nemáte na zařízení dost místa, tak to pro vás zjevně není.
Je třeba přemýšlet nad tím, co dělám ;)
Navíc to byla jen alternativní cesta, jak vyřešit vaši potřebu (bez autossh).
Tu první možnost pro autossh tzn., že nemáte definovanou proměnou HOME jste zkoušel?
S jakým výsledkem?