私から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番目のリンクのクレジットです。