擬似端末を介した SSH ポート転送

擬似端末を介した SSH ポート転送

状況は次のとおりです。

私はすべての仕事をMacで行います。

  1. あるLinuxサーバーがあります。サーバー01' 別の Linux サーバーへのアクセスを提供します 'サーバー02' 擬似端末経由

    そこで、sshで'サーバー02'、私はMacからこれを実行します:

    ssh -t server01 'inline server02'
    
  2. 次にパスワードを尋ねられます。サーバー01'; を入力すると、' にログインします。サーバー02'。今、私は'サーバー02' ターミナル。

  3. から 'サーバー02「私はMySQLデータベースにアクセスできます」サーバー03' 次の mysql コマンドを使用します:

    mysql --host=server03 --port=4201 --user=myuser --password=mypass mydb
    
  4. どちらでもない 'サーバー01' または 'サーバー02' 私のMacもSSHアクセスできません 'サーバー03'

さて、私は「サーバー03' は、何らかのポート転送を介して Mac から直接アクセスできます。したがって、Mac のターミナルで以下のコマンドを入力すると、' の MySQL データベースに接続されます。サーバー03':

mysql --host=localhost --port=4201 --user=myuser --password=mypass mydb

それを実行する方法はありますか? ご協力いただければ幸いです。

答え1

server01からserver02にssh接続できる場合は、

ssh -t -L server02:4201 server01 'ssh -N -L server03:4201 server02' 

それは連鎖接続になります

ローカルホスト:4201 -> サーバー02:4201 -> サーバー03:4201

ポートにローカルに接続するだけ4201マックで

パスワードの入力を避けるには、キー認証と ssh-agent を使用することをお勧めします。

関連情報