ローカル転送を一時的に無効にする方法


12

私の~/.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オプションがありますか?

明らかに、各構成ブロックをコピーして貼り付け、ローカル転送のあるものとないものを構築できますが、より良い解決策があることを願っています。

回答:


13

には、必要なことを正確に行うClearAllForwardingsオプションがありますssh_config

ClearAllForwardings

構成ファイルまたはコマンドラインで指定されたすべてのローカル、リモート、および動的ポート転送をクリアすることを指定します。このオプションは、ssh(1)コマンドラインから設定ファイルで設定されたポート転送をクリアするために使用される場合に主に役立ち、scp(1)およびsftp(1)によって自動的に設定されます。引数はyesまたはno(デフォルト)でなければなりません。

コマンドラインオプションとして使用できます。

ssh -o ClearAllForwardings=yes host

パーフェクト-私は慎重に十分なドキュメントを読んでいると思った
ジェブ

2
誰かがこれを必要としている場合に備えてgitGIT_SSH_COMMAND="/usr/bin/ssh -o ClearAllForwardings=yes"
user1338062

まったく違いますRemoteForward=no-同じ答えを探しているときに探していたものです。
ダグラスDD

これにより、Warning: remote port forwarding failed for listen port XYZすでに接続されている場合のメッセージも抑制されます。
1

1
@wbkang確かに。修正されました。申し訳ありませんが、おそらくタイプミスでした。
-Jakuje
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.