

phpMyAdminのポートフォワードがうまくいかない

データベースmysqlサーバ(192.168.2.42)に対して別マシン(192.168.2.44)から接続をおこなおうとしております。  
そこでポートフォワードの設定をおこないました。

[code]

    ssh -f -N -C -L 10000:127.0.0.1:3306 root@192.168.2.44 -p 22
    
[/code]

ここで別マシンのphpMyAdminにアクセスをして、DBサーバのmysqlのDBスキーマも確認できました。

ただし、ポートフォワードの設定のプロセスをkillしても依然として、DBサーバへの接続ができております。

phpMyAdmin展開後の`config.inc.php`の記述内容は下記となっております。

[code]

    $cfg['Servers'][$i]['host'] = '192.168.2.42';
    
    $cfg['Server'][$i]['port'] = '10000';
    
[/code]

これはただ、mysqlサーバの3306デフォルトポートに接続しにいってしまっているということでしょうか。

どこを見直せばいいかご教授よろしくお願いいたします。


CC BY-SA 3.0
2016-03-02T04:29:23.193
22727
2016-03-02T08:40:58.223
2016-03-02T08:40:58.223
12732
14378
question
php phpmyadmin
phpMyAdminのポートフォワードがうまくいかない


> $cfg['Servers'][$i]['host'] = '192.168.2.42';  
>  $cfg['Server'][$i]['port'] = '10000';

phpMyAdminの設定は良くわからないのですが、後者が`Servers`ではなく`Server`になっているためにデフォルトポートの3306が使用されていて、SSHとは無関係に192.168.2.42:3306に接続されているのではないでしょうか。

それ以前の部分からいろいろおかしいので、一から設計を見直すことをお勧めします。

> データベースmysqlサーバ(192.168.2.42)に対して別マシン(192.168.2.44)から接続をおこなおうとしております。  
>  そこでポートフォワードの設定をおこないました。
[code]

>     ssh -f -N -C -L 10000:127.0.0.1:3306 root@192.168.2.44 -p 22
>  
[/code]

このsshの接続では、MySQLサーバ側の127.0.0.1:10000がphpMyAdminマシン側の127.0.0.1:3306に転送されています。(-gが指定されていないので、192.168.2.42:10000は開いていません)

一方、phpMyAdminの設定では、192.168.2.42:10000に接続しようという意図だと見受けられます。この場合、192.168.2.44→192.168.2.42:10000はSSHトンネルを通りません。

[code]

     192.168.2.42(MySQL)             192.168.2.44(phpMyAdmin)
    ---------------------  (SSH)     --------------------
    |                    |----------->|
    |    127.0.0.1:10000-+============+-->127.0.0.1:3306
    |                    |----------->|
    |                    |            |
    |(192.168.2.42:10000)|<- ---------|(phpMyAdmin)
      ※今の設定では開いてない
    
[/code]

そもそもMySQL over
SSHが本当にやりたいことでしょうか。ネットワークが信頼できない場合であればMySQLはネイティブでSSL接続をサポートしていますのでこちらを検討すべきです。


CC BY-SA 3.0
2016-03-02T08:07:31.220
22729
2016-03-02T08:07:31.220
5793
22727
answer