ssh -D
dapat membuat port kaus kaki di mesin lokal, yang melewati lalu lintas ke remote, lalu ke tempat lain.
ssh -L port:host:hostport
, dengarkan port di mesin lokal, berikan lalu lintas ke "host: hostport" dari sudut pandang mesin jarak jauh.
ssh -R port:host:hostport
adalah lawan dari ssh -L
, yang mendengarkan port di mesin jarak jauh, dan meneruskan lalu lintas ke "host: hostport" dari sudut pandang mesin lokal.
Tapi apa yang terjadi ssh -D
, misalnya, bagaimana membuka port kaus kaki di mesin jarak jauh, yang akan melewati lalu lintas ke lokal, lalu ke tempat lain?
networking
ssh
tunnel
ssh-tunnel
socks
Berry
sumber
sumber
Jawaban:
Dengan
-D
&-L
Anda memiliki cara untuk berkomunikasi dengan cara apa pun antara kedua mesin.Begitu...
-R
untuk membuat port mendengarkan pada mesin jarak jauh yang menunjuk ke sshd mesin lokal.-D
pada mesin jarak jauh, arahkan ke port yang Anda buat di atas.Saya "berpikir" mengisi di bawah ini akan membuatnya bekerja ...
ssh remotehost -R remoteport:localhost:localport "ssh -D 9050 localhost -p remoteport"
'
remotehost
', 'remoteport
' & 'localport
' di atas perlu diubah. Proksi kaus kaki akan dibentuk pada 9050.sumber
Dapat dicapai secara transparan dengan cuplikan ini di ~ / .ssh / config:
Detail
Kami ingin DynamicForward terbalik. Ini dicapai dengan menggunakan dua perintah ssh:
ssh -D 3128 localhost
ssh -R 3128:localhost:3128 target
Target cara ini memiliki terowongan SOCKS ke klien SSH.
Apa yang saya lakukan adalah menggunakan cara klasik chaining ssh untuk mencapai target jarak jauh melalui host perantara sehingga pembuatan terowongan SOCKS ditangani secara transparan saat masuk ke target. Trik ProxyCommand + nc pertama adalah wajib karena -W menyiratkan ClearAllForwardings.
sumber
Tidak ada fasilitas untuk menyediakan terowongan kaus kaki terbalik dengan OpenSSH, jadi Anda harus menjalankan perintah ssh yang menyediakan proxy kaus kaki pada mesin "remote".
Jika mesin jarak jauh tidak dapat ssh ke mesin lokal, buat terlebih dahulu koneksi ssh dari lokal ke jarak jauh yang meneruskan port 22 ke misalnya 2222. Kemudian mesin jarak jauh dapat ssh ke mesin lokal di port 2222.
sumber
sejak OpenSSH 7.6
ssh (1): menambahkan dukungan untuk penerusan dinamis terbalik. Dalam mode ini, ssh akan bertindak sebagai proxy SOCKS4 / 5 dan meneruskan koneksi ke tujuan yang diminta oleh klien SOCKS jarak jauh. Mode ini diminta menggunakan sintaks yang diperluas untuk opsi -R dan RemoteForward dan, karena hanya diterapkan pada klien, tidak mengharuskan server diperbarui untuk didukung.
https://www.openssh.com/txt/release-7.6
sumber
ssh -R 127.0.0.3:1080 remote
), saat ini Anda dapat mengikat proxy SOCKS terbalik hanya ke port.