私は~/.ssh/config
などのローカル転送定義を含むファイルエントリ
Host myServer
hostname 10.10.0.1
user xyz
LocalForward 8080 localhost:80
LocalForward 4000 127.0.0.1:4000
...
これは魅力のように機能しますが、一部のデータを同期するためのスクリプトもあります。
これらのスクリプトは、すでに接続しているときにサーバーに接続しようとすると、多くの警告を表示します。
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
....
セッションのすべてのローカル転送を無効にするオプションを指定してssh
またはrsync
を使用するニート方法はありますか?
もちろん、各構成ブロックをコピーして貼り付け、ローカル転送ありとなしの1つをビルドすることもできますが、もっと良い解決策があることを願っています。
ssh_config
にはClearAllForwardings
オプションがあり、必要な機能を正確に実行します。
ClearAllForwardings
構成ファイルまたはコマンドラインで指定されたすべてのローカル、リモート、および動的ポート転送をクリアすることを指定します。このオプションは、構成ファイルで設定されたポート転送をクリアするためにssh(1)コマンドラインから使用される場合に主に役立ち、scp(1)およびsftp(1)によって自動的に設定されます。引数はyesまたはno(デフォルト)でなければなりません。
コマンドラインオプションとして使用できます。
ssh -o ClearAllForwardings=yes Host