Saya memerlukan akses SSH konstan ke host di departemen kami, yang alamat IP-nya dialokasikan secara dinamis. Saya telah menyiapkan terowongan SSH jarak jauh dari host target ke salah satu host kami yang memiliki alamat ip statis:
ssh -f -N -g -R :22223:localhost:22 tunnelhost
Ketika saya menunjukkan SSH di port lokal 22223
pada host terowongan, terowongan berfungsi dengan baik. Masalah saya adalah bahwa saya tampaknya tidak bisa membuat terowongan terikat ke apa pun selain localhost, meskipun - yaitu ketika saya mencoba untuk SSH dari jarak jauh tunnelhost:12323
, tidak ada port terbuka untuk menerimanya. Saya juga sudah mencoba:
ssh -f -N -R :22223:localhost:22 tunnelhost -o GatewayPorts=yes
Tapi tetap tidak berhasil. Netstat menunjukkan kepada saya:
[me@tunnel_host ~]$ netstat -an | grep 22223
tcp 0 0 127.0.0.1:22223 0.0.0.0:* LISTEN
tcp6 0 0 ::1:22223 :::* LISTEN
Mengkonfirmasi bahwa terowongan hanya terikat pada localhost. Saya telah menambahkan pengecualian port pada host tunnel, dengan firewalld-cmd, dan memastikan tidak ada perangkat keras jaringan yang mengganggu koneksi. Adakah gagasan tentang apa itu?
Cheers, James.
GatewayPorts=clientspecified
adalah pengaturan yang agak lebih aman, lihat askubuntu.com/questions/50064/reverse-port-tunnelling . Dalam hal ini, diperlukan binding address yang kosong (trailing colon in:22223:localhost:2
).GatewayPorts=clientspecified
pengaturan itu sendiri tidak lebih aman, melainkan memungkinkan untuk lebih banyak kontrol atas koneksi yang akan terikat ke wildcard, dibandingkan hanya memiliki mereka semua terikat ke wildcard.GatewayPorts=yes
akan membuka port yang diteruskan ke dunia.