To, co máte na mysli, je "DÁLKOVÉ PŘEDÁVÁNÍ SSH" a je správně vysvětleno v "man ssh ", týkající se "-R ".
> man ssh
[...]
-R [bind_address:]port:host:hostport
Specifies that the given port on the remote (server) host is to
be forwarded to the given host and port on the local side.
This works by allocating a socket to listen to port on the remote
side, and whenever a connection is made to this port, the
connection is forwarded over the secure channel, and a connection is
made to host port hostport from the local machine.
[...]
Ve vašem kontextu, kde:
- Linuxový box A (LINUX_BOX_A) uvnitř LAN za firewallem.
- Linuxový server B (SERVER_B) s pevnou IP adresou, která je dostupná z internetu
Vzdálené předávání SSH lze použít k dosažení LINUX_BOX_A ze SERVER_B. Jedinou podmínkou je:LINUX_BOX_A MUSÍ být schopen se připojit přes SSH k SERVER_B.
K dosažení tohoto cíle potřebujete:
- na LINUX_BOX_A:
LINUX_BOX_A:~ $ ssh -R 2222:localhost:22 [email protected]_B
tím se otevře ssh připojení z LINUX_BOX_A na SERVER_B, které bude použito pro vzdálené příchozí připojení.
Po navázání výše uvedeného připojení ssh můžete:
- na SERVER_B:
SERVER_B:~ $ ssh -p 2222 [email protected]
takové ssh-connection, spuštěné na SERVER_B, bude přesměrováno na port 2222 naslouchající na localhost, který... je navázán na předchozí ssh připojení. Takže toto bude "ssh připojení v rámci jiného ssh připojení".
Některé další poznámky:
-
počítejte s tím, že pokud dojde k vypršení časového limitu prvního ssh-připojení a/nebo jeho výpadku z jakéhokoli důvodu (včetně:zabití místním firewallem kvůli nečinnosti), nebudete se moci vzdáleně-forward/remotely_connect;
-
protože je důležité ponechat první připojení ssh aktivní po opravdu dlouhou dobu, může být užitečné spustit takové ssh v rámci relace "obrazovky"
Poslední poznámka:Je zřejmé, že vše výše uvedené má některé (potenciálně závažné) bezpečnostní důsledky, které jsou mimo rozsah této odpovědi.