マルチホップソックスプロキシを実装する方法は?

マルチホップソックスプロキシを実装する方法は?

私からSOCKSによるjvisualVMの使用に関する推奨事項。しかし、やや複雑なトポロジがあります。

ラップトップから起動し、監視したいコンピュータに到達するには、2つの中間ホストを通過する必要があります。

LaptopAtHome -> HostAtWork -> AWS-Bastion -> ThingToObserve

ssh-addを使用して、これらのホップを作成するために必要なキーを処理できます。 AWS-Bastion に SSH 秘密鍵を残してはいけません。次のように、これらすべてをどのように設定しますか?

ssh -v -D 9696 thingtobserve.example.com

私のラップトップから反対側にワームホールを開くか?

また、最初のホップには2番目と3番目のホップとは異なる秘密鍵を使用する必要があります。 ssh-addを使用して両方のキーを起動ホストにロードしました。

いくつかの研究によると、次のような試みがなされた。

#!/bin/sh

noknown="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"

ssh -A -t -t -v -L9999:localhost:9932 first ssh -A $noknown -t ec2-user@bastion ssh -A $noknown -t -D 9932 ec2-user@target

「権限拒否」のため失敗します。

私は簡単な最初のステップを試しました。

ssh -t -v -A first ssh -A -t -v $noknown ec2-user@bastion

そして、ログは、エージェントの追加キーが「bastion」に提供されていないことを示しています。 ssh -L は始点に表示します。

編集する

ここでの問題のいくつかは、私が最初のホップターゲットとして使用しようとしていた私のオフィスのホストの1つに関連するいくつかの未知の問題であることがわかりました。別のものに変更すると、全体的にクールなシェルを得ることができます。入手できないのがソックスエージェントです。

この質問に対するコメントは、マルチホップソックスエージェントが実際に概念的に難しいことを示唆しているので、これはこの質問の実際の問題です。

編集2

このページマルチホップソックスに関するものだと主張していますが、ポート番号のスペルが間違っているようです。

ベストアンサー1

まあ、私は答えを見つけました:

ssh -t -v -A -D9932 -L9933:localhost:9933 -L9934:localhost:9934 FIRST-HOST ssh -D9933 -L9934:localhost:9934 -A -t -v  ec2-user@SECOND-HOST ssh -D9934 -A -t -v ec2-user@THIRD-HOST

9934 をソックスプロキシポートとして使用します。

必要に応じて明確に.ssh/configマッピングできます。私の質問の2番目のリンクのクレジットです。

おすすめ記事