質問編集履歴
4
揺らぎの修正3
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
やろうとしていること
|
2
|
-
|
2
|
+
LAN内CentOS7を踏み台にしてWeb上のmysqlへSSHポート転送でアクセス
|
3
3
|
|
4
4
|
以下、次のように表現します。
|
5
5
|
|
@@ -14,10 +14,10 @@
|
|
14
14
|
mysqlを動かしているserver.mysqlは社内LANからしかアクセスできないようIPアドレスを制限したうえで22番(sshd)以外は塞いでいます。
|
15
15
|
またsshでのログインは鍵認証にしおり、接続ポートは10022に変更して運用しています。
|
16
16
|
|
17
|
-
この環境で上図のPCから
|
17
|
+
この環境で上図のPCからserver.mysqlへのアクセスをするために、LAN内のserver.local上でsshのポート転送を利用し
|
18
18
|
PCからはserver.mysqlにアクセスをしたい、つまり踏み台にしてmysqlと通信したいと思っています。
|
19
19
|
SSHトンネル接続に対応したDBToolなどでは社内LANからserver.localへの接続が可能ですが、
|
20
|
-
今回はExcelからODBC経由で
|
20
|
+
今回はExcelからODBC経由でserver.mysqlからのデータ取得をするためにserver.localを踏み台サーバーにしようとしています。
|
21
21
|
※PC上でPuTTYなどを動かしポート転送する場合は接続可能ですが、今回は複数の社内PCからのアクセスを想定しているため
|
22
22
|
server.localを踏み台として利用することにしました
|
23
23
|
|
3
揺らぎを修正2
test
CHANGED
File without changes
|
test
CHANGED
@@ -3,44 +3,44 @@
|
|
3
3
|
|
4
4
|
以下、次のように表現します。
|
5
5
|
|
6
|
-
|
6
|
+
server.local・・・社内に設置されているLinuxサーバー(CentOS7)
|
7
|
-
|
7
|
+
server.mysql・・・レンタルサーバー会社から借りているVPSサーバー(CentOS7)
|
8
8
|
PC・・・ODBC経由でServer.mysqlからデータを取得したいWindowsPC
|
9
9
|
|
10
10
|
(社内LAN) (internet)
|
11
|
-
PC----------router-----------
|
11
|
+
PC----------router-----------server.mysql
|
12
|
-
|
12
|
+
server.local--+
|
13
13
|
|
14
|
-
mysqlを動かしている
|
14
|
+
mysqlを動かしているserver.mysqlは社内LANからしかアクセスできないようIPアドレスを制限したうえで22番(sshd)以外は塞いでいます。
|
15
15
|
またsshでのログインは鍵認証にしおり、接続ポートは10022に変更して運用しています。
|
16
16
|
|
17
|
-
この環境で上図のPCからServer.mysqlへのアクセスをするために、LAN内の
|
17
|
+
この環境で上図のPCからServer.mysqlへのアクセスをするために、LAN内のserver.local上でsshのポート転送を利用し
|
18
|
-
PCからは
|
18
|
+
PCからはserver.mysqlにアクセスをしたい、つまり踏み台にしてmysqlと通信したいと思っています。
|
19
|
-
SSHトンネル接続に対応したDBToolなどでは社内LANから
|
19
|
+
SSHトンネル接続に対応したDBToolなどでは社内LANからserver.localへの接続が可能ですが、
|
20
|
-
今回はExcelからODBC経由でServer.mysqlからのデータ取得をするために
|
20
|
+
今回はExcelからODBC経由でServer.mysqlからのデータ取得をするためにserver.localを踏み台サーバーにしようとしています。
|
21
21
|
※PC上でPuTTYなどを動かしポート転送する場合は接続可能ですが、今回は複数の社内PCからのアクセスを想定しているため
|
22
|
-
|
22
|
+
server.localを踏み台として利用することにしました
|
23
23
|
|
24
|
-
LAN内の
|
24
|
+
LAN内のserver.localで実行したコマンドは以下の通りです
|
25
25
|
|
26
26
|
```ここに言語を入力
|
27
|
-
$ ssh -p 10022 -f -N -L 20022:localhost:3306 -i ~/.key/{keyfile} {h
|
27
|
+
$ ssh -p 10022 -f -N -L 20022:localhost:3306 -i ~/.key/{server.mysql.sshkeyfile} {server.mysql.ssh_user}@{server.mysql.host_domain}
|
28
28
|
```
|
29
29
|
|
30
30
|
コマンドはエラーなく実行できますが、mysqlとは通信ができません。
|
31
31
|
|
32
|
-
|
32
|
+
server.localで以下を実行
|
33
33
|
|
34
34
|
```ここに言語を入力
|
35
|
-
$ mysql -u {mysql_user} -p -h localhost -P 20022
|
35
|
+
$ mysql -u {server.mysql.mysql_user} -p -h localhost -P 20022
|
36
|
-
Enter password: {パスワードを入力}
|
36
|
+
Enter password: {mysql_userに対応したパスワードを入力}
|
37
|
-
ERROR 1045 (28000): Access denied for user {mysql_user}@'localhost' (using password: YES)
|
37
|
+
ERROR 1045 (28000): Access denied for user {server.mysql.mysql_user}@'localhost' (using password: YES)
|
38
38
|
```
|
39
39
|
|
40
40
|
となります。
|
41
41
|
ユーザーパスワードの入力に誤りはありません(クリップボード経由で張り付けています)
|
42
42
|
|
43
|
-
|
43
|
+
server.localのfirewalldについては20022を開放しています。
|
44
44
|
|
45
45
|
```ここに言語を入力
|
46
46
|
# firewall-cmd --zone=public --add-port=20022/tcp --permanent
|
@@ -63,9 +63,9 @@
|
|
63
63
|
|
64
64
|
追記します
|
65
65
|
|
66
|
-
|
66
|
+
server.local上からlsofすると上述したssh -Lのコマンドは通信を確立しているのを確認しています。
|
67
67
|
|
68
68
|
```ここに言語を入力
|
69
69
|
$ lsof -i | grep 10022
|
70
|
-
ssh 13193 user 3u IPv4 729110603 0t0 TCP {
|
70
|
+
ssh 13193 user 3u IPv4 729110603 0t0 TCP {server.local.host_name}:53726->{server.mysql.host_name}:10022 (ESTABLISHED)
|
71
71
|
```
|
2
言葉の揺らぎを修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,20 +1,27 @@
|
|
1
1
|
やろうとしていること
|
2
|
+
社内LAN内にいるWindowsPCから社内に設置されているCentOSのSSHポート転送を通じてVPSサーバーにアクセスしたい
|
2
3
|
|
3
|
-
(社内LAN) internet
|
4
|
-
PC----------router-----------mysql(CentOS7)
|
5
|
-
|
4
|
+
以下、次のように表現します。
|
6
5
|
|
6
|
+
Server.local・・・社内に設置されているLinuxサーバー(CentOS7)
|
7
|
+
Server.mysql・・・レンタルサーバー会社から借りているVPSサーバー(CentOS7)
|
8
|
+
PC・・・ODBC経由でServer.mysqlからデータを取得したいWindowsPC
|
9
|
+
|
10
|
+
(社内LAN) (internet)
|
11
|
+
PC----------router-----------Server.mysql
|
12
|
+
Server.local--+
|
13
|
+
|
7
|
-
mysqlを動かしている
|
14
|
+
mysqlを動かしているServer.mysqlは社内LANからしかアクセスできないようIPアドレスを制限したうえで22番(sshd)以外は塞いでいます。
|
8
15
|
またsshでのログインは鍵認証にしおり、接続ポートは10022に変更して運用しています。
|
9
16
|
|
10
|
-
この環境で上図のPC
|
17
|
+
この環境で上図のPCからServer.mysqlへのアクセスをするために、LAN内のServer.local上でsshのポート転送を利用し
|
11
|
-
|
18
|
+
PCからはServer.mysqlにアクセスをしたい、つまり踏み台にしてmysqlと通信したいと思っています。
|
12
|
-
SSHトンネル接続に対応したDBToolなどでは
|
19
|
+
SSHトンネル接続に対応したDBToolなどでは社内LANからServer.localへの接続が可能ですが、
|
13
|
-
今回はExcelからODBC経由で
|
20
|
+
今回はExcelからODBC経由でServer.mysqlからのデータ取得をするためにServer.localを踏み台サーバーにしようとしています。
|
14
|
-
※PuTTYなど
|
21
|
+
※PC上でPuTTYなどを動かしポート転送する場合は接続可能ですが、今回は複数の社内PCからのアクセスを想定しているため
|
15
|
-
利用することにしました
|
22
|
+
Server.localを踏み台として利用することにしました
|
16
23
|
|
17
|
-
LAN内の
|
24
|
+
LAN内のServer.localで実行したコマンドは以下の通りです
|
18
25
|
|
19
26
|
```ここに言語を入力
|
20
27
|
$ ssh -p 10022 -f -N -L 20022:localhost:3306 -i ~/.key/{keyfile} {host_user}@{host_domain}
|
@@ -22,7 +29,7 @@
|
|
22
29
|
|
23
30
|
コマンドはエラーなく実行できますが、mysqlとは通信ができません。
|
24
31
|
|
25
|
-
|
32
|
+
Server.localで以下を実行
|
26
33
|
|
27
34
|
```ここに言語を入力
|
28
35
|
$ mysql -u {mysql_user} -p -h localhost -P 20022
|
@@ -33,7 +40,7 @@
|
|
33
40
|
となります。
|
34
41
|
ユーザーパスワードの入力に誤りはありません(クリップボード経由で張り付けています)
|
35
42
|
|
36
|
-
|
43
|
+
Server.localのfirewalldについては20022を開放しています。
|
37
44
|
|
38
45
|
```ここに言語を入力
|
39
46
|
# firewall-cmd --zone=public --add-port=20022/tcp --permanent
|
@@ -51,12 +58,12 @@
|
|
51
58
|
{以下省略}
|
52
59
|
```
|
53
60
|
|
54
|
-
もちろんODBC経由でもアクセスできません。
|
61
|
+
もちろんPCからのODBC経由でもアクセスできません。
|
55
62
|
原因として考えられることなどご教示いただけると助かります。よろしくお願いいたします。
|
56
63
|
|
57
64
|
追記します
|
58
65
|
|
59
|
-
lsof
|
66
|
+
Server.local上からlsofすると上述したssh -Lのコマンドは通信を確立しているのを確認しています。
|
60
67
|
|
61
68
|
```ここに言語を入力
|
62
69
|
$ lsof -i | grep 10022
|
1
lsof -iした結果を最下部に追記しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -53,3 +53,12 @@
|
|
53
53
|
|
54
54
|
もちろんODBC経由でもアクセスできません。
|
55
55
|
原因として考えられることなどご教示いただけると助かります。よろしくお願いいたします。
|
56
|
+
|
57
|
+
追記します
|
58
|
+
|
59
|
+
lsofにて上述したssh -Lのコマンドは通信を確立しているのを確認しています。
|
60
|
+
|
61
|
+
```ここに言語を入力
|
62
|
+
$ lsof -i | grep 10022
|
63
|
+
ssh 13193 user 3u IPv4 729110603 0t0 TCP {CentOS_host_name}:53726->{mysql_host_name}:10022 (ESTABLISHED)
|
64
|
+
```
|