17

これがシナリオです

サーバー3へのscpアクセスを取得しようとしていますが、サーバー1へのパブリックsshアクセスしかありません。サーバー3にsshするには、サーバー1にsshし、サーバー2にsshしてから、サーバー3にsshする必要があります。

私の希望する最終結果は、WinSCP で localhost:8022 に接続でき、server3 へのファイル アクセスが可能になることです。

ssh トンネルを使用しようとしていますが、すべてのチュートリアルと質問を読んでも、このシナリオではうまくいかないようです。

Windowsでパテを使用しています。

どんな提案も本当に役に立ちます。ありがとうございました。

4

6 に答える 6

10

最初に頭に浮かぶ解決策は、1 つのローカル ポートを各サーバーにトンネリングすることです。SSH はポート 22 を使用するため、各 SSH 接続を使用してローカル ポートを次のサーバーのポート 22 にトンネリングします。

PuTTY を開くと、[PuTTY 構成] ダイアログが表示されます。編集する必要がある 2 つのカテゴリは、「セッション」と「接続→SSH→トンネル」です。

  1. PuTTY のコピーを開きます。次の設定を使用します。

    • ホストに接続

      • ホスト名:server1
      • ポート: 22
    • ポートをトンネリングする

      • ローカルモード
      • ソース ポート:15500
      • 宛先: server2:22(セキュア シェル ポート)

        [追加] を押す前の PuTTY 構成ウィンドウ [追加] を押した後の PuTTY 構成ウィンドウ

    これで、ローカル マシンのポート 15500 に接続するたびに、接続が server2 のポート 22 にトンネリングされます。

  2. PuTTY のコピーを開きます。次の設定を使用します。

    • ホストに接続
      • ホスト名:localhost
      • ポート: 15500
    • ポートをトンネリングする
      • ローカルモード
      • ソース ポート:15501
      • 宛先: server3:22(セキュア シェル ポート)
  3. PuTTY のコピーを開きます。次の設定を使用します。

    • ホストに接続
      • ホスト名:localhost
      • ポート: 15501
    • ポートをトンネリングする
      • ローカルモード
      • ソース ポート:15502
      • 宛先: server3:22(セキュア シェル ポート)
  4. WinSCP を使用してlocalhost、ポートに接続します15502。直接接続しているかのように、接続はトンネリングされますserver3

これがうまくいくかどうか、コメントでお知らせください。幸運を!

于 2009-06-18T06:35:36.130 に答える
6

この方法は、開いている ssh 構成ファイルで proxycommand を使用する方法と似ています。

この方法の前提条件は、すべての中間 (プロキシ) ホストで Pageant を公開鍵認証と共に使用する必要があることです。そうしないと、カーソルが点滅するだけで終わります。Pageant、PuTTYgen、および公開鍵の詳細については、http://the.earth.li/~sgtatham/putty/0.62/htmldoc/Chapter8.html#pubkey http://the.earth.li/~sgtatham/putty
を参照してください。
/0.62/htmldoc/Chapter9.html#pageant


PuttyPC -> server01 -> server02 -> server03の順序で 4 台のマシンにアクセスできます。

server01 の場合、Putty で保存されたセッションがあります。
メイン ウィンドウ: user1@server01// ポート22//SSH
このセッションを server01 として保存します。

server02 の場合、次のように Putty で保存されたセッションがあります。
メイン ウィンドウ: user2@server02// ポート22//SSH
プロキシ構成ウィンドウ: タイプlocal// プロキシ コマンドplink -load server01 -nc %host:%port
このセッションを server02 として保存します。

server03 の場合、次のように Putty で保存されたセッションがあります。
メイン ウィンドウ: user3@pc3// ポート22//SSH
プロキシ構成パネル: タイプlocal// プロキシ コマンドplink -load server02 -nc %host:%port
このセッションを server03 として保存します。

これは、server03 の保存されたセッションが server02 の保存されたセッションを呼び出し、server02 の保存されたセッションが server01 セッションを呼び出すことを意味します。

于 2012-02-09T23:00:14.930 に答える
0

答えは、server3 からトンネルを逆にすることでした。

于 2009-06-18T15:38:38.183 に答える
0

ここには、perl スクリプト ソリューションが適切に説明されています。投稿のコメントも読んでください。

SSH エージェント フォワーディングの詳細を参照してください (perl スクリプトの投稿コメントで参照)。

于 2009-06-18T04:54:42.037 に答える