SSH接続が開かれた後にポートリダイレクトを設定する方法は?


13

クライアントとサーバーの両方でopensshを使用しています。sshを介していくつかのポートリダイレクトを実行ssh -Lまたはssh -Rセットアップできることを知っています。ただし、これらはコマンドラインパラメーターであるため、このようなリダイレクトは、接続を開く前に記述する必要があります。

コマンドラインsshクライアントを使用して、オンザフライでポートリダイレクトを設定できますか?

PuTTYsshクライアントを使用すると、接続が既に開かれているときに、ドロップも再接続もせずに、ポートリダイレクションをインタラクティブにセットアップできました。したがって、技術的に可能であることがわかりました。

回答:


24

SSHコマンドラインを使用しており、エスケープ文字機能をオフにしていない場合は~C、改行の後に入力して、sshクライアントでミニコンソールを開くことができます。次に入力する-L port:host:portか、-R port:host:portまたは-D portコマンドラインで同じようにリダイレクトを追加したり、-KR portリダイレクトを削除します。

認証をやり直さずにリダイレクトを設定するより柔軟な方法は、最初のsshクライアントをマスター(-Mまたは-o ControlMaster=auto)として起動し、後続のクライアントをスレーブ(-Sまたは-o ControlMaster=auto)として起動することです。スレーブは、マスターによって確立された接続をトンネルします。ControlPathコマンドラインまたはで設定する必要がある場合があります~/.ssh/config。詳細については、ssh_configmanページのオプションの説明を参照してください。


~C escape not available to multiplexex sessions私が今やったように誰かが問題に遭遇した場合、マスター接続を探しに行かないでください。代わりに、-O forwardssh port forwardingコマンドに追加するだけで、機能しますssh -O forward -nfL 1234:whatever:1234 theserver
パトリック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.