サーチ…


OpenSSH

sshトンネルを作成するには、元のコマンドに-Rをつけるだけです。

コマンドライン

コマンドssh [email protected]を使用してexample.comユーザーguestとして接続しているとしexample.com 。逆方向トンネルを開くと、次のようになります。

ssh -R 2222:localhost:22 [email protected]

これは、リモートサーバ上のポート2222 (ループバックインタフェースのみ)を開き、このポートへのすべての接続は、ローカルコンピュータのsshサーバ(ポート22 )に転送されます。

これはまた、オプション許可していることを前提としてAllowTcpForwarding yesし、 PermitOpen anyあなたの中にsshd_configサーバー上に。それ以外の場合はエラーが発生して失敗します

open failed: administratively prohibited: open failed

転送されたポートに他のネットワークアドレス( localhost以外)でアクセスできるようにするには、さらにGatewayPorts yesを許可し、IPアドレスまたはホスト名またはIPを使用する必要があります。

ssh -R 2222:example.com:22 [email protected]

構成

さらに、接続するたびに同じ行を入力しないように、 ~/.ssh/configでリモートポート転送を指定することもできます。頻繁にホストに接続し、毎回ポート転送を開始したくない場合、この転送を行うホストに別名を設定することをお勧めします。

Host example.com-R
  Hostname example.com
  User guest
  RemoteForward 2222 localhost:22

単にssh example.com-Rを使用してリモートポート転送を作成しssh example.com-R

バックグラウンドで実行

ポート転送はスイッチ-N (リモートコマンドを実行せず、転送のみ)、- -f (認証後バックグラウンド)、- -T (リモートTTY割り振りを無効にする)を使用してバックグラウンドで簡単に実行できます。すべてを一緒に入れて:

ssh -NTfR 2222:localhost:22 [email protected]


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow