下記のような構成の場合どうすればいいのか
client -> 踏み台1 -> 踏み台2 ->DBサーバ
sshだけならtransparent multi-hop ssh
てなページにあったように、下記の多段sshでDBサーバのmysqlクライアントに接続できた筈(configにProxyCommandを書いた記憶がないが多段環境が手元に無いのでうろ覚え)。
[hoge@localhost] > ssh -A -t 踏み台1 ssh -A -t 踏み台2 ssh -A DBサーバ
-
OpenSSH-6.5p1 日本語マニュアルページ (2014/05/31)
- Aとかtとかのオプションの説明
解決
- コメント欄の @ngyuki さんの方法で解決
- ssh鍵がある場合は、 http://qiita.com/yudoufu/items/82f752807893c63f06db で解決
推測(以下作業ログ扱い)
多段sshではなくて、sshポートフォワードをしないとworkbenchからは接続方法が多分ないので、参考のMulti-hop ssh tunnel - howto : Creating a SSH tunnel with port forwarding between multiple hosts
に従って、下記のようなポートフォワード構成にすればOKの筈。
request
-> 93306:localhost:93306
-> 93306:踏み台1:93306
-> 93306:踏み台2:93306
-> 3306:DBサーバ
1st tunnel
[hoge@localhost] > ssh -L93306:localhost:93306 fuga@踏み台1
2nd tunnel
[fuga@踏み台1] > ssh -L93306:localhost:93306 piyo@踏み台2
3rd tunnel
[piyo@踏み台2] > ssh -L93306:localhost:3306 poo@DBサーバ
one line
[hoge@localhost] > ssh -v -L93306:localhost:93306 fiuga@踏み台1 -t ssh -v -L93306:localhost:93306 piyo@踏み台2 -t ssh -v -L93306:localhost:3306 poo@DBサーバ
あとはworkbenchからlocalhost:93306 に接続すればいい筈なんだけど・・