2017-06-26 14 views
0

enter image description here SSHセッションのために同じホストとポートを使用します。私はいつもsshユーザ@ X -p yyyyをユーザに与えたいが、ユーザがX:yyyyでsshを実行するときは、が自動的にマシンA:ポートbbbbに転送されるようにする。 (ユーザーは別のマシンに接続していると感じてはいけません) 将来、同じドッカーコンテナーをマシンCでスピンすると、ポートddddになります。ユーザーが新しいマシン名とポートを使用しないようにするには、x:yyyyを使用して続行したいが、セッションはc:ddddに転送する。私はこれをどのようにして行うのですか?私はマシンに動的にx:yyyyがc:ddddを指し示すようにしたいのですが、どうすれば文法的にそれを設定できますか?ロバートさんのコメントについては、私が<strong>Xマシン、ポートYYYY</strong>を持ち、また、機械<strong>A、ポートBBBB</strong>でドッカコンテナを実行している

を(ユーザーがパテで同じ保存されたセッションの詳細を持っている必要があります)、私はこれを解決し、以下、この質問に対する答えを追加した画像描写

で質問を説明するために画像を追加しました。

+0

を。マシンとポートがあまりにも抽象的です。私はそれを私の心の中で描く。 – Robert

答えて

0

私が働いた後、SSHのポートフォワーディングを行う方法を発見したすべての

と共有したいと思った: を転送 sshのポートは、マシンにログインしX

  1. ssh -L 0.0.0.0:yyyy:machineA:bbbb -f -C -q -N [email protected]
  2. にでき
  3. 蘭このコマンドは、初めて資格情報を保存するために私達に尋ねた

    0123:SSHのmachinex -p YYYY
    注意することにより、デスクトップからのドッキングウィンドウへのSSH

    私は、次のコマンドを発行:machineX -p YYYY

    @

のsshユーザーを私はマシンAにsshedています:

enter image description here

動的にBBBBこれを達成するために、X-マシンでこのコマンドを実行するためのシェルモジュールを備えたAnsibleプレイブックを実行しました(f ROMリモートマシン)

0

このタイプのポート転送にはのautosshを使用できます。

私はファイアウォールで保護されたマシンを接続するために同じタイプのアプローチを使用しています。これを実現するために

、まずあなたはマシンAには、ポートYYYYにmachineXに自動的に接続している必要があります:ローカルホスト:22

autossh -N -f -R yyyy:localhost:22 [email protected]_ADDRESS_MACHINE_X 

、その後machineXからあなたが簡単にマシンAに接続することができます。

あなたはSSHキーでこれを設定した場合、ユーザーはパスワードを入力する必要はありません。

のブログを見ていてください:あなたは私の脳を破ったOMG AutoSSH in UBUNTU

関連する問題