GNU/Linux >> Znalost Linux >  >> Linux

ssh přes router bez přesměrování portů

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:

  1. Představte si alias pro počítač B . Například computer_B_alias .

  2. V počítači B , spusťte ssh -R computer_B_alias:22:localhost:22 serveo.net .

  3. Nyní máte přístup k počítači B z počítače A provedením následujícího v počítači A :ssh -J serveo.net [email protected]_B_alias , kde musíte nahradit user jménem uživatele v počítači B .

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


Linux
  1. Nelze spustit X aplikací přes SSH v Linuxu

  2. Ssh port forwarding google výpočetní stroj

  3. HTTPS SSH tunel

  1. Jak povolit předávání SSH X11 přes další server?

  2. Přesměrování portů na Linuxu bez iptables?

  3. Předat SSH přes SSH tunel

  1. Jak změnit port SSH v Linuxu

  2. Ssh – Scp přes více hostitelů?

  3. Změňte port SSH v CWP