Připojení k SSH na počítač za cizím NATem

Připojení k SSH na počítač za cizím NATem
« kdy: 07. 07. 2020, 08:30:13 »
Situace: třetí osoba - BFU - je v zahraničí a z jakéhokoliv důvodu se potřebuji připojit na jejich počítač - stroj A - přes SSH. Stroj A je za NATem, se kterým nejde hnout.

Můj počítač - Stroj B - má veřejnou adresu. Zajímalo by mě, jestli existuje jednoduchý způsob, jak spojení otevřít ze strany stroje A, tj. počítače, na který se chci připojit.

Mělo by stačit poslat partnerovi one-liner, který může copy-pastnout do terminálu.

To co potřebuji napodobuje následující hack:
Stroj B:
Kód: [Vybrat]
netcat -l 6666

Stroj A:
Kód: [Vybrat]
mkfifo fifo1
netcat adresa-stroje-A 6666 < fifo1 | bash > fifo1

Taky bych ocenil tipy, jak se dá takový problém vyhledávat na internetu. Pro všechny dotazy, které jsem zkoušel, google vrací články o konvenčním využití SSH.
« Poslední změna: 07. 07. 2020, 09:04:08 od Petr Krčmář »
Používejte háčky a čárky. Bez nich se to hůř čte.


jvb

google "ssh reverse tunnel" nebo "ssh port forwarding" a hodit se ti muze volba `gatewayports` diky ktere se muze klient nabindovat na konkretni (i verejnou) IP adresu+port.

No, ale vždyť to je konvenční použití ssh. Na stroji A stačí zadat
Kód: [Vybrat]
ssh userB@strojB -R 2222:127.0.0.1:22 a na stroji B pak
Kód: [Vybrat]
ssh -p 2222 userA@localhost

Moje angličtina je mizerná, což mi umožnilo nacvakat do google primitivní "reverse ssh connection" a našel jsem relevantní výsledek: https://www.howtogeek.com/428413/what-is-reverse-ssh-tunneling-and-how-to-use-it/