Yerel bağlantı noktanızı 22 dinlemesini ve bağlantıları uzak bir sistemin bağlantı noktası 8090'a iletmesini istiyorsunuz. Yerel bağlantı noktası 22'niz zaten yerel SSH sunucunuz tarafından alındığı için bunu yapamazsınız.
Bence aradığınız şey uzaktan yönlendirme. Değiştirme -L 22:localhost:8090
ile -R 8090:localhost:22
port 8090 tarihinde dinlemek ve SSH sunucusuna isteklerini iletmek için uzak ana söyleyecektir.
Daha sonra uzak bir siteden girebilmek için bağlantıyı çalışır durumda bırakıyorsanız, ilgili seçenekleri ekleyerek ( -o TCPKeepAlive=yes
veya -o ServerAliveInterval=30
) bağlantısızlık nedeniyle bağlantının zaman aşımına uğramamasını sağlamak isteyeceksiniz.
Böylece şöyle bir şey elde edersiniz:
ssh -N user@my_server -R 8090:localhost:22 -o ServerAliveInterval=30
Ayrıca, sizinle sunucu arasındaki ağ atlamalarından biri herhangi bir noktada kesilirse, belirttiğiniz KeepAlive seçeneklerine rağmen bağlantı kesilir, bu nedenle bu komutu inittab'a eklemek veya daemontools paketine veya dağıtımınızın eşdeğer, böylece her zaman önyükleme başlar ve sistem kapatıldıktan sonra başka bir nedenle çıktığında yeniden başlatılır (veya sonsuz döngüler halinde bir kabuk komut dosyasından çalıştırabilirsiniz, ancak init veya daemontools daha temiz çözümlerdir).