Z toho vyplývá, že neexistuje žádná konkrétní „aplikace“, která by vyřešila váš problém, je to spíše problém se sítí – váš domácí počítač je za NAT a váš pracovní počítač je za proxy (http nebo socks).
Potřebujete tedy třetí počítač – nejlépe se systémem Linux nebo BSD – říkejte mu „třetí počítač“. Levný Linux vps hosting je pravděpodobně nejlepší způsob, jak jít.
Z vašeho pracovního počítače můžete použít "připojit" v konfiguraci ssh k tunelování přes proxy na "třetí počítač" - viz http://bent.latency.net/bent/git/goto-san-connect-1.85/ src/connect.html.
Zde je například položka, kterou mám ve svém ~/.ssh/config:
Host foo.dyndns.org
User sonia
Port 443
ProxyCommand connect -H 1.2.3.4:8080 %h %p
(Použití portu 443 je běžný způsob, jak obejít http proxy).
Z vašeho domácího počítače můžete použít „autossh“ k nastavení trvalého tunelu na „třetí počítač“ – viz http://www.harding.motd.ca/autossh/ a http://www.linux.com/archive /feature/134133
Ze svého pracovního počítače pak můžete ssh přejít na „třetí počítač“ a poté se vrátit tunelem autossh do vašeho domácího počítače.
Hledal jsem to samé a našel jsem dva nástroje!
- tmate – okamžité sdílení terminálu
- GoTTY – Sdílejte svůj terminál jako webovou aplikaci
tmate :Když spustíte tmate ve vašem terminálu, vytvoří se ssh odkaz, který můžete sdílet s jinou stranou, které chcete povolit připojení k vaší terminálové relaci. Další strana potřebuje mít nainstalované ssh.
Funguje přes NAT bez problémů, není potřeba žádný nástroj třetí strany.
tmate ssh odkazy vypadají takto:
Stačí nainstalovat tmate na váš systém, v oficiálních repozitářích jsou balíčky pro téměř všechna hlavní distribuce (Fedora, Debian, Arch, Ubuntu...)
Tmate je také open source a umožňuje vám nastavit a používat svůj vlastní server, pokud se později rozhodnete nepoužívat jakoukoli službu třetí strany.
GoTTY :Sdílejte libovolnou terminálovou aplikaci, kterou chcete, a druhá strana ani nemusí mít ssh, ale pokud jste za firewallem a NAT, musíte vyřešit přesměrování portů.
[1] Samotný nástroj – doporučuji podívat se na jrdesktop [ http://jrdesktop.sourceforge.net/ ]; i když není příliš aktivní projekt a není zvláště vhodný pro připojení podobná modemu, je stabilní, spolehlivý, multiplatformní a funguje dobře.
[2] Jak jrdekstop, tak ssh, i když neprovádějí NAT-transversal (jako Hamachi - tzv. VPN s nulovou konfigurací; nezapomeňte zkontrolovat tuto! https://secure.logmein.com/products/hamachi2/), mají možnosti jako „reverzní připojení“, které by se vám mohlo hodit.
Jakmile vytvoříte takovou VPN mezi počítači, můžete volně používat ssh, X, RDP, jrdesktop, VNC a další nástroje podle vašeho výběru, jako byste používali v normální síti LAN. Pokud nedůvěřujete „transversálnímu poskytovateli“ třetí strany, slyšel jsem, že je relativně snadné napsat si vlastní protějšek k takovému softwaru (alespoň jeden ze strojů musí být veřejný, nebo oba NAT-ed musí mít dočasný přístup k veřejnosti třetí stroj).
Také lidé na serverfault.com mohou nabídnout lepší informace.