Co byste chtěli udělat, je ssh Z vašeho "linuxového serveru" NA něco vně, jako je "my_other_server" nebo něco jiného, k čemu se oba servery mohou dostat.
Použili byste vzdálené přesměrování portů ssh.
[[email protected]_server]$ ssh -R8022:localhost:22 my_other_server.com
Vysvětlení:Připojte se k my_other_server a otevřete tam port 8022, který bude přesměrovávat zpět ke mně na portu 22.
Z my_other_server.com budete moci přesměrovat ssh na localhost na portu 8022 a nechat svůj provoz přesměrovat na linux_server s využitím tunelu linux_server -> my_other_server tunnel[[email protected]_server]$ ssh -p8022 localhost
Vysvětlení:Připojte se k sobě na portu 8022, který je přesměrován na linux_server
Pokud máte problémy s vypadáváním počátečního tunelu linux_server -> my_other_server, můžete vytvořit skript, který jej ponechá otevřený, upravit nastavení keepalive nebo použít autossh.
Tato odpověď je založena na přijaté odpovědi, ale přidává podrobnosti, které mi umožnily to udělat. Omlouvám se za vysvětlení pro chodce, protože to vůbec není moje odbornost.
Předpokládejme, že máte dva počítače, A
a B
. Chcete ssh
od A
na B
a nemůžete provádět žádné přesměrování portů ve směrovačích, které jsou k nim připojeny.
Jak je uvedeno v přijaté odpovědi, potřebujete server S
Chcete-li to provést:v počítači B
, povolíte ssh
připojení pocházející z S
; a z počítače A
, budete k tomuto tunelu přistupovat na S
dosáhnout B
.
Ale jak získáte ten server S
? Našel jsem serveo
(odkaz:https://serveo.net/). Má velmi jednoduché použití. Nemusíte nic instalovat ani se registrovat a je to zdarma. Podle webových stránek je třeba postupovat takto:
-
Představte si alias pro počítač
B
. Napříkladcomputer_B_alias
. -
V počítači
B
, spusťtessh -R computer_B_alias:22:localhost:22 serveo.net
. -
Nyní máte přístup k počítači
B
z počítačeA
provedením následujícího v počítačiA
:ssh -J serveo.net [email protected]_B_alias
, kde musíte nahradituser
jménem uživatele v počítačiB
.
P.S.:Samozřejmě, že z bodu 2 uděláte automatickou úlohu při spouštění počítače B
.
P.S.S.:Než to zkusíte, ujistěte se, že ssh
je nainstalován na obou počítačích. Pro Ubuntu sudo apt-get install ssh
by to udělal.
Aby to fungovalo, můžete použít VPN svého druhu, ale vyžadovalo by to, abyste měli server, ke kterému má nepřístupný server přístup. Poté můžete nastavit OpenVPN na serveru, počítači a serveru chráněném bránou firewall, povolit client-to-client
, a máte hotovo. http://openvpn.net/howto.html