web-dev-qa-db-ja.com

SSHプロキシはどのように機能しますか?

トラフィックをプロキシサーバーにリダイレクトするために、ローカルポートをマップしようとしています。私はこのコマンドを含む指示を得ました:

ssh -A -t -l root 106.120.124.39 -L :8888:106.120.102.53:8888

SSHマニュアルから:

-A

認証エージェント接続の転送を有効にします。これは、構成ファイルでホストごとに指定することもできます。

エージェント転送は注意して有効にする必要があります。リモートエージェント(エージェントのUNIXドメインソケット用)のファイルアクセス権をバイパスできるユーザーは、転送された接続を介してローカルエージェントにアクセスできます。攻撃者はエージェントからキーマテリアルを取得できませんが、エージェントにロードされたIDを使用して認証することを可能にするキーに対して操作を実行できます。

-t

疑似端末割り当てを強制する

-L

ローカル(クライアント)ホスト上の指定されたTCPポートまたはUnixソケットへの接続が、リモート側の指定されたホストおよびポート、またはUnixソケットに転送されることを指定します。

これを読んでも、それが実際にどのように機能するのか、これをターミナルに入力する意味は何なのかわかりません。誰かがこれをsimpleで説明できますか?

1
k13i

どこかに-L :9990:198.51.100.0:9999の図解があると思いました やった

Difference between <code>example.com</code> and <code>localhost</code> on the remote side.

この図は、-L [ bind_address:]port:Host:hostportを使用してリモート側のリソースにアクセスする状況を視覚化しています。これで、SSHサーバーから9990fromに接続しているかのように、SSHクライアントコンピューターのポートexample.com:9999に接続できます。 。宛先は何でもかまいません。混乱を避けるために8888を両側で使用したくありませんでした。別のポートにすることもできます。

写真は千の言葉の価値があります。 2000ワードの半分 SSHトンネリングの使用方法

2
Esa Jokinen

SSH.comには、SSHトンネリング/転送について、かなりシンプルでよく記述された 説明 があると思います。

-tフラグの場合、 here も読みやすいでしょう。そして here-Aフラグ用のものです。

写真で状況をよりよく説明できるかもしれません(-D =動的転送):

SSH Forwarding Graph

1
Aviv Lo