ssh memajukan banyak port

9

Jadi ini bekerja untuk saya:

ssh -v -L 8080:remotewebserver:8080 me@jumphost

Bagaimana jika saya juga ingin memasukkan lebih banyak port?

Saya ingin maju tidak hanya 8080, tetapi juga 8443, 8923 dan 8181?

Apakah saya perlu melakukan koneksi baru untuk setiap port?

devnull
sumber

Jawaban:

19

Tidak, Anda tidak perlu satu koneksi per port yang diteruskan, cukup tambahkan -Lpernyataan lebih lanjut :

ssh -L LPort1:RHOST1:RPORT1 -L LPORT2:RHOST2:RPORT2 [email protected]

Ini dapat disingkat menjadi ssh jump, menggunakan "alias" jump, jika Anda mengatur bagian yang cocok di Anda ~/.ssh/configseperti ini:

Host jump
    User myUserName
    Hostname ju.mp.ho.st
    Port 2345
    LocalForward 8080 remotewebserver:8080
    LocalForward 8443 remotewebserver:8443
    LocalForward 8923 remotewebserver:8923
    LocalForward 8181 remotewebserver:8181

# Eliminates reconnection delay, and does not try to re-forward ports:
Host *
  ControlMaster auto
  ControlPath /tmp/%r@%h:%p

Saya telah menggunakan teknik ini selama bertahun-tahun, tentunya sudah dengan lebih dari 10 port, tetapi ketika saya membutuhkan lebih banyak port yang diteruskan, saya menggunakan dukungan Dynamic Socks Proxy -D.

Alex Stragies
sumber
1
Saat menghubungkan, saya akan melihat pesan kesalahan ini untuk setiap port yang diteruskan: bind: Address already in use channel_setup_fwd_listener_tcpip: cannot listen to port:kemudian Could not request local forwarding.Dengan pengaturan Control *, semua ini hilang, terima kasih! PS: Saya sudah sering menggunakan flag komentar itu di SE, dan Anda orang pertama yang saya lihat juga menggunakannya. Hargai itu :)
Dan Dascalescu