状況は次のとおりです。
私はすべての仕事をMacで行います。
あるLinuxサーバーがあります。サーバー01' 別の Linux サーバーへのアクセスを提供します 'サーバー02' 擬似端末経由
そこで、sshで'サーバー02'、私はMacからこれを実行します:
ssh -t server01 'inline server02'
次にパスワードを尋ねられます。サーバー01'; を入力すると、' にログインします。サーバー02'。今、私は'サーバー02' ターミナル。
から 'サーバー02「私はMySQLデータベースにアクセスできます」サーバー03' 次の mysql コマンドを使用します:
mysql --host=server03 --port=4201 --user=myuser --password=mypass mydb
どちらでもない 'サーバー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 を使用することをお勧めします。