Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Jak se dostat přes SSH na NAS, který je za NATem?

Ahoj,
chtěl bych přistupovat přes internet ke svému NAS disku (ZyXEL NSA325 v2), který je za NATem. Nemám možnost port forwardingu. Co ale mám, je VPS s Ubuntu 14.04, který veřejnou adresu má. Pujde to zprovoznit? Četl jsem si něco o reverzním SSH tunelu (předpokládám, že tohle potřebuju), ale moc chytrý z toho nejsem.

Nakopnete mě někdo, jak to nastavit? ;-)

Předmět Autor Datum
Oh, tak už to mám, nebylo to zas tak složité. :-[ viz http://www.dsl.cz/jak-na-to/5-site-a-ochrana/…
MaSo 15.07.2015 15:43
MaSo
Není to ješte úplně ok. Jak docílím toho, aby tunel zůstal otevřený i když zavřu ssh session na NAS?…
MaSo 15.07.2015 16:02
MaSo
ten příkaz musíš zacyklit (např. skriptem). Tj. když skončí, musí se spustit nová instance. :i: edi…
touchwood 15.07.2015 16:03
touchwood
Ok. Díky! Pak vyzkouším...:beer:
MaSo 15.07.2015 16:06
MaSo
Nejde mi to. :-[ Nejprve jsem musel vyřešit zadání hesla. To jsem "obešel" pomocí certifikátů, ale…
MaSo 15.07.2015 16:55
MaSo
http://unix.stackexchange.com/questions/17835/how- can-i-configure-a-reverse-ssh-connection-to-the-c…
touchwood 15.07.2015 21:03
touchwood
Takhle mi to nefungovalo... Ale funguje mi: ssh -nNT -R 49500:localhost:22 root@a.a.cz & a i po z…
MaSo 15.07.2015 21:15
MaSo
Vo všeobecnosti sa na to, aby ti zostal bežať proces aj po odpojení z terminálu používa nohup alebo…
los 15.07.2015 22:41
los
Wow. Díky za obsáhlé vysvětlení. :beer: autossh použít nemůžu, v NASu běží BusyBox v1.17.2 a ten to… poslední
MaSo 16.07.2015 08:37
MaSo
Daj si to spojenie do screenu, myslim, ze to je najjednoduchsie a splna to to, co pozadujes.
fleg 15.07.2015 17:37
fleg
Kam že to? :-)
MaSo 15.07.2015 18:36
MaSo
Asi myslíš: ssh -t -R XX:localhost:YY root@muj_server.cz screen -RD tunel se ale stejne zavře, kdy…
MaSo 15.07.2015 18:57
MaSo
Nepoznam z hlavy screen manual, nicmenej ja som to robil tak, ze som spustil screen, spustil prislus…
fleg 15.07.2015 21:46
fleg

Není to ješte úplně ok. Jak docílím toho, aby tunel zůstal otevřený i když zavřu ssh session na NAS?

Jsem v situaci:
1) otevřu ssh konzoli NAS
2) zadám příkaz na vytvoření reverzního tunelu ssh -R XX:localhost:YY root@muj_server.cz
3) zadám heslo
4] tunel běží, když zavřu putty tunel se zavře taky, což nechci...:-(

Nejde mi to. :-[

Nejprve jsem musel vyřešit zadání hesla. To jsem "obešel" pomocí certifikátů, ale script pořád nefunguje...:-(

#!/bin/sh

while true
do
	ssh -R xx:localhost:yy root@aa.aa.cz
	sleep 1
done

Když to spustím ./tunel.sh, tak script jede ale po zavření ssh session se ukončí a k tunelu se nedá připojit. Pokud to spustím jako ./tunel.sh &, tak se vše tváří ok, ale k tunelu se nepřipojím.

Vo všeobecnosti sa na to, aby ti zostal bežať proces aj po odpojení z terminálu používa nohup alebo screen.

Príkaz nohup dáš len pred celý príkaz a on sa postará o to, aby sa signál SIGHUP nedostal k spúšťanému procesu.

Pomocou príkazu screen si vieš vytvoriť viacero virtuálnych terminálov, ktoré zostávajú bežať aj po odpojení sa. Výhodou oproti nohup je, že sa vieš následne opäť prepnúť do toho virtuálneho terminálu, z ktorého si príkaz spustil. Takým spôsobom si vieš pozrieť, čo ten proces vypísal do štandardného výstupu, prípadne či nečaká na niečo zo štandardného vstupu. Ovláda sa to po spustení príkazu screen klávesovými skratkami. Je to také interaktívne - ja som si na to nezvykol a nohup je skrátka jednoduchší a teda lepší.

Ampersand na konci posiela proces na pozadie. Príkaz ssh má prepínač -f (automaticky implikuje -n), ktorý ho pošle na pozadie. Oproti ampersandu má malú výhodu v tom, že počká, kým nevytvorí pripojenie (resp. pri použití -o ExitOnForwardFailure=yes počká aj na vytvorenie tunela).

Ak by si chcel, tak pre automatické obnovovanie SSH pripojenia môžeš použiť autossh - používa úplne rovnaké prepínače ako ssh.

Wow. Díky za obsáhlé vysvětlení. :beer:

autossh použít nemůžu, v NASu běží BusyBox v1.17.2 a ten to nemá, asi by se to muselo doinstalovat, ale už do toho nebudu hrabat, poněvadž mi to funguje. ;-)

Nepoznam z hlavy screen manual, nicmenej ja som to robil tak, ze som spustil screen, spustil prislusny programy, screen zavrel (ctrl-a-d tusim), cim sa presunul do pozadia a ked chcel prgram zase vyvolat tak screen -r ak si dobre pamatam.
Takto mi fungovalo vsetko, co sa zatvaralo pri skonceni spojenia.

Zpět do poradny Odpovědět na původní otázku Nahoru