Anda memintanya untuk mendengarkan pada port lokal 22 Anda dan meneruskan koneksi ke port sistem jarak jauh 8090. Anda tidak dapat melakukan itu, karena port 22 lokal Anda sudah diambil oleh server SSH lokal Anda.
Saya pikir apa yang Anda cari adalah penerusan jarak jauh. Mengganti -L 22:localhost:8090
dengan -R 8090:localhost:22
akan memberi tahu host jarak jauh untuk mendengarkan pada port 8090 dan meneruskan permintaan ke server SSH Anda.
Jika Anda membiarkan koneksi berjalan sehingga Anda bisa masuk nanti dari situs jarak jauh, maka Anda ingin memastikan koneksi tidak habis karena tidak aktif dengan menambahkan opsi yang relevan ( -o TCPKeepAlive=yes
atau -o ServerAliveInterval=30
)
Jadi Anda akan berakhir dengan sesuatu seperti:
ssh -N user@my_server -R 8090:localhost:22 -o ServerAliveInterval=30
Juga, jika salah satu jaringan melompat antara Anda dan server pada titik mana pun, koneksi akan turun meskipun ada opsi KeepAlive yang Anda tentukan, jadi Anda mungkin ingin menambahkan perintah ini ke inittab, atau melihat ke dalam paket daemontools atau distro Anda setara, sehingga selalu dimulai saat boot dan di-restart ketika keluar karena alasan lain selain sistem shutdown (atau Anda dapat menjalankannya dari skrip shell yang loop tanpa batas, tetapi init atau daemontools adalah solusi yang lebih bersih).