Fedoraの上で使用するSSHポートフォワーディング

あなたはすでに、リモートシステムにアクセスするには、sshコマンドに精通しているかもしれません。sshコマンドの後ろに使用されるプロトコルは、入力端子と出力端子は、安全なチャネルを通って流れることができます。しかし、あなたはまた、あなたが使用できることを知ってssh安全に送信し、他のデータを受信しますか?一つの方法は、あなたが実行できる「ポートフォワーディングポートフォワーディング」、使用することにあるssh安全にセッション中にネットワークポートに接続します。この記事では、それがどのように動作するかを示します。

ポートについて

65535 -標準的なLinuxシステムは、ネットワーク・ポートのセット、範囲0が割り当てられます。システムで使用するために1023年-システムは0のままです。多くのシステムでは、これらのローエンドのスローガンを使用するように選択することはできません。特定のサービスを実行するために使用されるいくつかのポートは通常あります。システムでは次のことができます/etc/services定義ファイルを見つけます。

あなたは、ケーブルジャックに接続することができるネットワークポートまたは類似の物理ポートと考えることができます。ポートは、物理的なジャック配線バックと同様のシステム上のサービスに接続することができます。一つの例は、(としても知られているのApache Webサーバーですhttpd)。HTTPの非セキュアな接続セキュアなHTTPS接続443が通常必要とされるため、Webサーバーは、通常、ホストシステム上のポート80を使用する必要があります。

あなたが(例えば、Webブラウザを使用して)リモートシステムに接続すると、ブラウザがあなたのホスト上のポートへの「接続」されています。これは、通常のような54001のランダム高いポートです。ホストコンピュータ上のポートは、リモートホスト上でのセキュアなWebサーバにアクセスする(例えば、443)ポートに接続されています。

だから、あなたは非常に多くの使用可能なポート、ポートフォワーディングを持っていたときに、なぜそれを使うのか?これは、いくつかの一般的なWeb開発者の生活のケースです。

ローカルポートフォワーディング

あなたが呼ばれていることを想像してremote.example.com、リモートシステム上のWeb開発。通常、あなたはでありssh、このシステムに入るが、それはファイアウォールの背後にある、とファイアウォールがめったにアクセスの他の種類を許可していない、と他のほとんどのポートをブロックします。Webアプリケーションがリモートシステムにアクセスするためにブラウザを使用することができますしようとするには役立つだろう。しかし、憎悪のファイアウォールを使用しているため、あなたのブラウザにURLを入力して、従来の方法でアクセスすることはできません。

ローカルフォワーディングあなたができるように、sshリモートシステムへのアクセスを介してアクセスポートを構築します。このポートは、(「ローカル転送」と呼ばれる)システム上のローカルポートとして示されています。

Webアプリケーションと仮定すると、remote.example.comポート8000上で実行されています。ローカルシステムにポート8000は、セッションの開始時に、あなたのシステム上のポート8000に転送-Lオプションsshの組み合わせで:

  1. $ ssh-L 8000:localhost:8000 remote.example.com

ように、なぜ我々は、使用localhost、転送対象として?これは、あるremote.example.com視点、あなたが自分自身のホストポート8000を使用する必要があります。(任意のホストは通常、ネットワークを介して接続することができることを思い出してlocalhost自分自身に接続されています。)今、あなたはポート8000に接続されていることを、システムのポート。sshセッションの準備ができたら、それは開いたまま、その後、あなたはブラウザに入力することができhttp://localhost:8000、あなたのWebアプリケーションを表示します。さて、システム間のトラフィックが可能なsshセキュアトンネルを送信します!

あなたは鋭い目を持っている場合は、何かに気づいたかもしれません。我々はしている場合remote.example.comに転送されることとlocalhostどのように異なるホスト名は何?それは別のシステム上のネットワークポートにアクセスすることができる場合は、通常、同じように簡単にポートを転送することができます。たとえば、あなたが訪問したいとは、リモートネットワークですdb.example.comMariaDBやMySQLサービスの。サービスは通常、ポート3306で実行されます。だから、あなたがない場合であってもssh、実際のdb.example.comホスト、あなたはまた、前方に、このコマンドを使用することができます。

  1. $ ssh-L 3306:db.example.com:3306 remote.example.com

さて、あなたはできるlocalhostコマンドMariaDBを実行して、実際に使用してdb.example.comホストを。

リモートポートフォワーディング

リモート前方ので、あなたはその逆のことができるという。あなたは友人のオフィス用のWebアプリケーションを設計している想像し、そしてそれらにあなたの作品を見せたいです。しかし、残念ながら、あなたはコーヒーショップで働く、およびネットワーク設定以来、彼らはネットワーク接続を介してあなたのラップトップにアクセスすることはできません。しかし、あなたはまた、オフィスの使用しているremote.example.comシステムを、そしてまだここでログインすることができます。ローカルポート5000上のWebアプリケーションがうまく動作するようです。

リモートポートフォワーディングあなたができるように、sshローカルシステムからポートを確立するためのトンネルを接続し、リモートシステム上のポートを利用できるようにします。開始時にsshセッションだけ使用-Rオプション:

  1. $ ssh-R 6000:localhost:5000 remote.example.com

今、会社のファイアウォールで友人がブラウザを開くようにするとき、彼らがアクセスすることができhttp://remote.example.com:6000、あなたの仕事を表示します。ローカルポートフォワーディングの例のように、貫通通信ssh会話を安全に。

デフォルトでは、sshdデーモンはそう、ホストの設定で実行されているだけでホストがリモートポート転送に接続することができます。あなたの友人が他のようにしたいと仮定しexample.com、人々は会社のホストあなたの仕事を参照してください、彼らはありませんremote.example.comで。あなたはようにする必要がありremote.example.com、次のホストとなる所有者1に追加します/etc/ssh/sshd_config

  1. GatewayPortsyes#或
  2. GatewayPorts clientspecified

ことを最初のオプションの手段remote.example.comすべてのネットワークインタフェースは、リモートポート転送に使用することができます。トンネリングクライアントの第二の手段は、アドレスを選択することができます。デフォルトでは、このオプションが設定されていますno

このオプションを使用すると、あなたsshのクライアントはまだポートフォワーディングは、インターフェイスのあなたの側を共有することができます指定する必要があります。この操作は、ローカルポートする前に、ネットワークアドレスの範囲を追加することによって行われます。含め、これを行うには、いくつかの方法があります:

  1. $ ssh-R *:6000:localhost:5000#所有网络
  2. $ ssh-R 0.0.0.0:6000:localhost:5000#所有网络
  3. $ ssh-R 192.168.1.15:6000:localhost:5000#单个网络
  4. $ ssh-R remote.example.com:6000:localhost:5000#单个网络

その他の考慮事項

ローカルおよびリモートシステム上のポート番号が同一である必要はないことに注意してください。実際には、時にはあなたも同じポートを使用することはできません。例えば、平均的なユーザは、デフォルト設定でシステムポートに転送されなくてもよいです。

また、転送ホストの制限。あなたがネットワークより厳格なセキュリティ上のホストが必要な場合は、これはあなたに重要であるかもしれません。sshdデーモンプロセスPermitOpenおよびTCPポートフォワーディングのために使用することができるかどうかを制御します。デフォルト設定はany、それが上記のすべての例が正常に動作していることができます。任意のポート転送を禁止するには、選択none、またはのみ特定できるように、「ホスト:ポート」詳細については、manページを検索しPermitOpen設定するには、sshdデーモンを:

  1. $ man sshd_config

最後に、だけであることを覚えてsshポートフォワーディングでセッションが開きます。あなたが活動を転送維持するのに長い時間が必要な場合は、使用してみてください-Nバックグラウンドでセッションを実行するオプションを。コンソールはコンソールを離れる際に奪われてからそれを防ぐためにロックされていることを確認してください。

経由:https://fedoramagazine.org/using-ssh-port-forwarding-on-fedora/

翻訳:geekpi校正:WXY

おすすめ

転載: www.linuxidc.com/Linux/2019-11/161239.htm