質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MySQL Workbench

MySQL Workbenchは、オープンソースのデータベースモデリングツールです。ビジュアルなデータベース設計・SQL開発・サーバー設定・ユーザー管理・バックアップといった様々な管理ツールを備えます。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Q&A

解決済

2回答

5187閲覧

PCから多段SSHでリモートのDBを参照できるようにしたい

clickmaker

総合スコア200

MySQL Workbench

MySQL Workbenchは、オープンソースのデータベースモデリングツールです。ビジュアルなデータベース設計・SQL開発・サーバー設定・ユーザー管理・バックアップといった様々な管理ツールを備えます。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

0グッド

0クリップ

投稿2020/11/10 05:37

前提・実現したいこと

PCにインストールしたDBクライアントツールで、
踏み台サーバ経由で接続するリモートのDBを
参照できるようにしたいです

[PC DBクライアント] =(SSH)=> [踏み台サーバ]:IP 200.201.202.203 =(SSH)=> [DBサーバ]:IP 192.168.0.10:MySQL

私自身は.ssh/config で多段接続設定してCUIで参照を行えるのですが、
システムが詳しくない人にもGUIで参照できるようにするのが目的です。

DBクライアントツールは MySQL Workbench、
SSHには Putty を使う予定ですが、
実現できるなら他のツールでも構いません。
※なるべくユーザフレンドリー
※phpMyAdminはインストールの許可がおりませんでした...

試したこと

  1. Puttyでポートフォワーディング設定を行い、DB接続用のポートを用意する
  2. MySQL WorkBench でDB接続用のポートへの設定を行う

1)が上手くいかず...
実現可能な設定があればご教示いただけますでしょうか。

補足情報

[PC]
OS: Windows 10
DB Client Tool: MySQL WorkBench 6.3
Terminal Tool: Putty

[踏み台サーバ]
OS: CentOS 6.0

[DBサーバ]
OS: CentOS 6.0
DB: MySQL 5.6
踏み台サーバからのMySQL接続は許可されてません。
localhostか、上記には記載がないですがアプリケーションサーバからのみ
MySQLにアクセスできます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/11/10 05:55

踏み台サーバーにはshでログインするということ? そこからSQLサーバーにさらにshでログイン? ちょっとイメージがわからないのですが・・・ ポートフォワードしてくれるなら普通にアプリから 踏み台サーバーを参照すればいいだけのような・・・
clickmaker

2020/11/10 06:08

だいたいイメージ合っています。 ポートフォワードができれば解決できると思うんですよね。 ただPuttyでの設定が上手くいかなくて・・。 1段だけのポートフォワードなら、つまり、PCからDBサーバにSSH接続してMySQLに接続なら設定方法がわかるんですが、 間に踏み台サーバを挟む場合の設定方法がわからず、困っております。。
guest

回答2

0

ベストアンサー

各SSHクライアント(RLogin、Putty、Tera Term)で複数台の踏み台を超えてポートフォワーディングする方法のまとめ。

に各クライアントでの設定例があるので参考になるかと思います。
(今回のケースだと、サイト中の踏み台B+WindowsマシンがMySQLサーバに該当するので若干の調整は必要かと思いますが)

投稿2020/11/10 07:51

tanat

総合スコア18727

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

clickmaker

2020/11/10 09:45

urakids 様、tanat 様 ありがとうございます。 Puttyの接続設定を2つ用意することで解決しました。 ----------------------------------------------------- 1つめのセッション名: tunnel_base [セッション]  ホスト名: baseuser@200.201.202.203  ポート:22 [接続]-[SSH]-[トンネル]  源ポート: 10022  送り先: 192.168.0.10:22  これを入力して追加 ----------------------------------------------------- これを作成して実行、踏み台の接続パスワードを入力してログインしておきます baseuser@200.201.202.203's password: [baseuser@base ~]$ ----------------------------------------------------- 2つめのセッション名: tunnel_db [セッション]  ホスト名: dbuser@localhost ※localhostにすること  ポート:10022 ※1つめのセッションの源ポート [接続]-[SSH]-[トンネル]  源ポート: 13306  送り先: 127.0.01:3306  これを入力して追加 ----------------------------------------------------- これも作成して実行、DBサーバの接続パスワードを入力してログインしておきます dbuser@localhost's password: [dbuser@db_server ~]$ これでPCの13306と、DBサーバの3306のポートがフォワードされた状態になるので この後はMySQL Workbench で -----------------------------------------------------  Connection Method : Standard (TCP/IP)  HostName : 127.0.0.1  Port : 13306 ※2つめのセッションの源ポート  Username : mysqluser ----------------------------------------------------- この接続設定を作成して実行。 これなら、Puttyにセッション1つめ、2つめの順で実行、 MySQL Workbenchで設定しておいた接続設定をクリックの手順だけで 踏み台サーバ経由でもGUIでDBを参照できるようになりました。 ベストアンサーですが、 紹介いただいた記事の2つ用意するという点がとても参考になったので こちらの回答とさせていただきます。 ありがとうございました。
tanat

2020/11/10 11:16

フィードバックありがとうございます。 順番に立ち上げるのが許容されるのであればシンプルな方法ですね。 解決して良かったです
guest

0

踏み台サーバからMySQLサーバに接続できるようにしないと無理ではないでしょうか?
[Clien]→[踏み台]→[Mysql]となっているので疑似的に踏み台サーバが操作する事になります。
デフォルトだとportは3306ですが踏み台もmysqlサーバもこのportが開いている必要があります。
(portを変更されているばあいはそちらに合わせてください)

投稿2020/11/10 06:07

urakids

総合スコア21

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

clickmaker

2020/11/10 06:51

回答ありがとうございます。 さきほど踏み台でポートが閉じられてないか確認したんですが、問題ありませんでした。 私のPCはLinuxなんですが、 PCの.ssh/config に追記して、、 ``` Host base User baseuser HostName 200.201.202.203 Host db_server HostName 192.168.0.10 User dbuser ProxyCommand ssh -W %h:%p base ``` ポートフォワードを立てて、、 ``` [develop@localhost ~]$ ssh db_server -L 13306:localhost:3306 baseuser@200.201.202.203's password: dbuser@192.168.0.10's password: [dbuser@db_server ~]$ ``` PCの別のターミナル画面から フォワードしたポートにmysqlコマンドで接続 ``` [develop@localhost ~]$ mysql -umysqluser -p -h127.0.0.1 -P13306 Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. (省略) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | application_db | +--------------------+ 4 rows in set (0.02 sec) ``` これなら接続&参照できるので、 Window 10でも、ポートフォワードできるターミナルを使えばできると思うんですが、 Puttyの場合どう設定するのが正解なのかがわからず、質問を投稿した次第です。
tanat

2020/11/10 06:57

> デフォルトだとportは3306ですが踏み台もmysqlサーバもこのportが開いている必要があります。 SSHポートフォワードの場合は踏み台の3306が開いている必要は無いですね。 MySQLサーバにSSHログインしてそこからlocalhost:3306に対して接続する形になるので、 踏み台→MySQLサーバ間はSSH接続さえできれば問題ありません。
urakids

2020/11/10 08:04

Clintから MySQL WorkBenchを使い踏み台サーバを経由して接続するのであれば 両サーバのポート開いていないとダメではないでしょうか? [client]→[踏み台]→[mysql]とsshで接続後にmysqlに接続するのであれば portは開いていなくても問題無いと思いますが。
tanat

2020/11/10 08:12 編集

> Clintから MySQL WorkBenchを使い踏み台サーバを経由して接続するのであれば両サーバのポート開いていないとダメではないでしょうか? そんなことは無いです。 SSHポートフォワード(トンネリング)では既に確立されているSSHトンネルを通って通信が行われます。 今回のケースではMySQLサーバにSSH接続が出来るので3306が開いている必要はありません。
urakids

2020/11/10 08:59 編集

失礼しました。読み間違えていました。 [Client]→[踏み台]間をSSH [踏み台]→[Client]はMysql接続とみていました。 既に[踏み台]→[MySQL]でSSHで接続されているのであれば portを開ける必要はありませんね。 PuTTyの方ですが「セクション」のホスト名に「踏み台」のIP(200.201.202.203) 「接続」「SSH」「トンネル」の受け側ポートに何かport(3306)とか 「送り先」に「192.168.0.10:13306」と入れて追加ボタン 「開始」ボタン でログインする。 これで既にフォワーディングが終わっているのであれば MySQL WorkBenchでlocalhostの3306で繋がるのではないでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問