iT邦幫忙

0

需要經 WEB SERVER 再SSH連到 MYSQL SERVER?

  • 分享至 

  • xImage

想請教一下
我目前請國外機房幫忙設定兩台伺服器
一台做WEB SERVER 一台做DB SERVER
只有WEB SERVER有IP,而DB SERVER是用LAN跟WEB SERVER連的
可是廠商跟我說 "如是設定內網IP,您們需要經 WEB SERVER 再SSH連到 MYSQL SERVER"
請問這是什麼意思 之後我要如何連到DB SERVER?
感謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
8
u8526425
iT邦大師 1 級 ‧ 2013-10-02 10:12:45

因DB主機不直接對外連線
所以你要先登入WEB主機
再從WEB主機透過SSH去管理DB主機
當然可以有別種管理方式
但是要看他們有沒有裝那些遠端管理套件

看更多先前的回應...收起先前的回應...

感謝回答
我會用putty連線SSH到WEB SERVER
但不清楚從WEB主機透過SSH去管理DB主機這一段
意思是說連線到WEB SERVER後,以ROOT身分打一些指令去控制DB SERVER嗎

建議請廠商幫你安裝 phpmyadmin => 但是 Port 不要用 80
這樣你就可以登入 WebServer 用 Web UI 維護 MySQL

這樣的話,我可以直接在家裡的PC上登入phpmhadmin來管理到DB SERVER嗎 感謝

poemnite iT邦研究生 2 級 ‧ 2013-10-02 10:59:42 檢舉

不太建議這樣大喇喇的把 phpmyadmin 拉出來
如果可以, 擺一個 VPN
如果不可以, 就乖乖 ssh 進去 Web Server
意思是說, 你進 ssh 進 web server 後
在 rlogin, 或 ssh 或 telnet 進 db server 去管理
看你的 db server 有開那些..
猜你的狀況應該是再 ssh 一次進 db server

請教在已SSH進WEB SERVER後,要再SSH進DB SERVER的command line 要怎麼打?
感謝

10
wiseguy
iT邦超人 1 級 ‧ 2013-10-02 11:54:18

u8526425提到:
因DB主機不直接對外連線
所以你要先登入WEB主機
再從WEB主機透過SSH去管理DB主機

正如一樓所說,你的 DB 沒有 Internet IP,所以必須以 Web 當跳板才能進得去。因此管理上有幾種方式:

  1. 從你的電腦 putty (ssh) 到 Web,再從 web 下 ssh root@<DB內網IP> 連過去管理。
  2. 從你的電腦 plink tunneling 22 port 經 Web 到 DB,然後就可以從你的電腦 putty 127.0.0.1:22 直接 ssh 到 DB。
  3. 在 DB 裝 phpmyadmin,只限 Web IP 能存取。再從你的電腦 plink tunneling 80 port 經 Web 到 DB,然後就可以從你的電腦直接開瀏覽器 http://127.0.0.1 直接控制 DB。
  4. 依照 3 的方法,使用 plink 開 ssh tunneling 3306 port 經 Web 到 DB,再從你的電腦使用 HeidiSQL 這種AP直接連 127.0.0.1:3306 就可以操作 DB。
看更多先前的回應...收起先前的回應...
wiseguy iT邦超人 1 級 ‧ 2013-10-02 12:00:46 檢舉

假設 Web 的外部 IP 是 1.1.1.1,DB 內部 IP 是 192.168.0.2,那麼 tunneling 的指令是:

&lt;pre class="c" name="code">plink -L 22:192.168.0.2:22 -L 80:192.168.0.2:80 -L 3306:192.168.0.2:3306 -x -a -C -T -4 -N root@1.1.1.1

感謝

另外請教一下,我程式要接DB server的mysql的部分,在這種架構下是打localhost就可以 還是打DB server的內網?

weiclin iT邦高手 4 級 ‧ 2013-10-02 15:01:41 檢舉

如果程式放在WEB Server, 那連接時是打DB Server的內網IP

感恩

想請教一下,我已經登入到WEB SERVER,但要打 ssh root@內部IP的時候出現了錯誤 : ssh: connect to host 10.0.0.2 port 22: Connection refused
我想這是因為SSH的port是被設為22222
這樣command要怎麼打? 感謝

wiseguy iT邦超人 1 級 ‧ 2013-10-07 00:42:22 檢舉

ssh 命令的 port 要怎麼指定?這種 man 一下或 google 一下,五秒就知道答案的事,你不會兩天過後還在等答案吧?汗

2
ali88
iT邦新手 3 級 ‧ 2013-10-06 11:03:39

WEB SERVER利用兩個網路介面 DB也利用一個網路介面

以VPN方式連到-->eth0 ===WEB SERVER==eth1 --->eth0 ===DB SERVER===

1.不要用Public IP直接SSH 到web SERVER,以VPN方式 連線到 WEB server的eth0 介面
2.VPN連線後,再用WEB SERVER eth1的網段 SSH 到 DB SERVER的eth0 網段去作管理DB(web server eth1 與 DB server eth0 是同網段)

2
iknowlab
iT邦研究生 4 級 ‧ 2013-10-09 09:40:59

看了大家的回應,都是很有經驗的 System Administrator,不過,若你是這二台 WEB SERVER & DB SERVER 的管理者,你會希望這眾多的 user 如何連進來呢?你會幫他建 tunnel 嗎?你會告訴他 root 密碼嗎?要是我,就不會。
這題的答案,應該就是 wiseguy兄 講的 putty 到 WEB Server,再 ssh 到 DB Server,其他的建議,應該對樓主是「霧裡看花」的。
至於 ssh 細節,應該是問「國外」的那個人。

0
haoming
iT邦好手 1 級 ‧ 2017-12-21 15:47:40

我推薦你用 HeidiSQL 這個 連線工具,屬於donate software, 在商業環境內也可以合法使用。他有支援 建立 tunnel 的功能,如果不熟悉指令,直接按照畫面操作就可以。

提供參考的設定畫面
https://ithelp.ithome.com.tw/upload/images/20171221/200019310F9e4tym0P.png

你需要另外準備 plink.exe 軟體, 網路上就可以自由取得。然後參考第二個設定畫面
https://ithelp.ithome.com.tw/upload/images/20171221/20001931fqrogWDlIL.png

我要發表回答

立即登入回答