Membalikkan ssh tunnel di config

16

Bagaimana saya bisa membuat terowongan ssh terbalik dengan file ./ssh/config saya?

Saya mencoba mereproduksi perintah ini

ssh -R 55555:localhost:22 user@host

di file .ssh / config saya sehingga ketika saya mengetik ssh hostsaya akan ssh ke host sebagai pengguna dan dengan terowongan terbalik. Perintah-perintah yang diterima oleh file config adalah lebih banyak rekan-rekan verbose ke flag-flag baris perintah. Berdasarkan manual ssh dan manual untuk ssh_config, sepertinya pengaturan yang sesuai adalah BindAddress.

Dalam file .ssh / config saya, saya punya:

Host host
     Hostname host
     User user
     BindAddress 55555:localhost:22

Ini, dan sedikit variasi, mengakibatkan koneksi ditolak ketika saya mencoba

ssh localhost -p 55555

setelah login di host. Hal yang sama berfungsi dengan baik jika saya secara eksplisit memberikan perintah di atas ketika pertama kali sshing ke tuan rumah. File config saya berfungsi tanpa perintah tunnel terbalik; ssh hostlog saya menjadi tuan rumah sebagai pengguna.

Praxeolitic
sumber

Jawaban:

29

BindAddressbukan pilihan yang Anda cari. Dari man ssh_config:

BindAddress
         Use the specified address on the local machine as the source
         address of the connection.  Only useful on systems with more than
         one address.

Setara file konfigurasi -Radalah RemoteForward:

RemoteForward
         Specifies that a TCP port on the remote machine be forwarded over
         the secure channel to the specified host and port from the local
         machine.  The first argument must be [bind_address:]port and the
         second argument must be host:hostport. [...]

Dengan informasi ini baris perintah

ssh -R 55555:localhost:22 user@host

diterjemahkan ke dalam .ssh/configsintaks berikut :

Host host
HostName host
User user
RemoteForward 55555 localhost:22
Marco
sumber