Cara menonaktifkan sementara ke depan lokal

12

Saya ada di ~/.ssh/configentri file saya dengan definisi forward lokal seperti

HOST myServer
   hostname 10.10.0.1
   user xyz
   LocalForward 8080 localhost:80
   LocalForward 4000 127.0.0.1:4000
   ...

Ini berfungsi seperti pesona, tetapi saya juga memiliki skrip untuk menyinkronkan beberapa data.
Script ini menunjukkan banyak peringatan ketika mereka mencoba terhubung ke server saat sudah ada koneksi.

bind: Address already in use
channel_setup_fwd_listener_tcpip: cannot listen to port: 8080
bind: Address already in use
channel_setup_fwd_listener_tcpip: cannot listen to port: 4000
....

Apakah ada cara yang rapi untuk menggunakan sshatau rsyncdengan opsi untuk menonaktifkan semua penyerang lokal untuk sesi?

Jelas saya bisa menyalin & menempelkan setiap blok konfigurasi dan membangun satu dengan dan satu tanpa ke depan lokal, tapi saya harap ada solusi yang lebih baik.

jeb
sumber

Jawaban:

13

Ada ClearAllForwardingsopsi di ssh_config, yang melakukan persis apa yang Anda butuhkan:

ClearAllForwardings

Menentukan bahwa semua penerusan porta lokal, jarak jauh, dan dinamis yang ditentukan dalam file konfigurasi atau pada baris perintah dihapus. Opsi ini terutama berguna ketika digunakan dari baris perintah ssh (1) untuk menghapus penerusan port yang diatur dalam file konfigurasi, dan secara otomatis diatur oleh scp (1) dan sftp (1). Argumennya harus ya atau tidak (default).

Anda dapat menggunakannya sebagai opsi baris perintah:

ssh -o ClearAllForwardings=yes host
Jakuje
sumber
Sempurna - saya berpikir bahwa saya telah membaca dokumentasi yang cukup hati-hati
jeb
2
Untuk berjaga-jaga jika ada yang membutuhkan ini dengan git:GIT_SSH_COMMAND="/usr/bin/ssh -o ClearAllForwardings=yes"
user1338062
Jelas tidak RemoteForward=no- yang merupakan hal yang saya cari ketika mencari jawaban yang sama.
DouglasDD
Ini juga akan menekan pesan Warning: remote port forwarding failed for listen port XYZketika sudah ada koneksi.
Jan
1
@ wbkang tentu. Diperbaiki sekarang Maaf, itu mungkin salah ketik.
Jakuje