Řešení 1:
Žádáte jej, aby naslouchal na vašem místním portu 22 a předal připojení na port 8090 vzdáleného systému. To nemůžete udělat, protože váš místní port 22 je již obsazen vaším místním serverem SSH.
Myslím, že to, co hledáte, je vzdálené předávání. Nahrazení 03
s 11
řekne vzdálenému hostiteli, aby naslouchal na portu 8090 a předával požadavky na váš SSH server.
Pokud necháváte připojení spuštěné, abyste se mohli připojit později ze vzdáleného místa, pak se budete chtít ujistit, že připojení nevyprší z důvodu nečinnosti přidáním příslušných možností (24 nebo
36
)
Takže skončíte s něčím jako:
ssh -N [email protected]_server -R 8090:localhost:22 -o ServerAliveInterval=30
Také, pokud je některý ze síťových skoků mezi vámi a serverem kdykoli mimo provoz, připojení se přeruší navzdory všem zadaným možnostem KeepAlive, takže možná budete chtít přidat tento příkaz do inittab nebo se podívat do balíčku daemontools nebo vašeho distro ekvivalent , takže se vždy spustí při bootování a restartuje se při ukončení z jiného důvodu, než je vypnutí systému (nebo jej můžete spustit ze skriptu shellu, který se nekonečně zacyklí, ale init nebo daemontools jsou čistší řešení).
Řešení 2:
Důvod, proč to nemůžete udělat, je ten, že se pokoušíte přesměrovat port 22 na místním počítači na port 8090 na vzdáleném serveru a na portu 22 na místním serveru již něco běží. S největší pravděpodobností máte spuštěný server SSH. Můžete to opravit změnou 22 na jinou hodnotu. Můžete zkontrolovat, zda je port volný, spuštěním:
# netstat -lep --tcp
Zde jsou uvedeny všechny naslouchající zásuvky, takže pokud port není uveden, je volný.
Řešení 3:
Používám příkaz lsof -i :PortNumber ke kontrole, zda je port volný:
# lsof -i :2272
pokud je port volný, na výstupu nic neuvidíte.