C 通過SSH隧道的方式連線遠端MySql 資料庫

2021-09-19 15:14:46 字數 1066 閱讀 9437

出於安全考慮,我們的伺服器不會對外開放3306埠,這時候就需要用到ssh隧道的方式連線,需要ssh.net類庫:

**如下:

using mysql.data.mysqlclient;

using renci.sshnet;

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

namespace sshmysql

public void sshconnectmysql()

var portfwdl = new forwardedportlocal(sqlipa, sqlport, sqlhost, sqlport); //對映到本地埠

client.addforwardedport(portfwdl);

portfwdl.start();

if (!client.isconnected)

mysqlconnection conn = new mysqlconnection(sqlconn);

mysqldataadapter mydataadapter = new mysqldataadapter();

mydataadapter.selectcommand = new mysqlcommand(sqlselect, conn);

try

catch (exception ee)

finally

client.disconnect();

}catch (exception ex)}}

}}

注:如果出現錯誤可以把本地(開發機器)上的mysql服務停止掉。

通過SSH隧道遠端辦公

ssh不僅可以用於遠端主機登入,還可以作為 也就是ssh隧道。具體場景如下圖,客戶端可以ssh登入到外網伺服器,外網伺服器與內網伺服器可以網路連線,但客戶端與內網伺服器無法網路連線。此時就可以通過ssh隧道,將客戶端的請求通過外網伺服器 到內網伺服器,再將請求返回給客戶端,實現客戶端與內網伺服器的網...

利用SSH隧道方式連線遠端MySQL伺服器

1 簡介 大多數人知道ssh是用來替代r命令集,用於加密的遠端登入,檔案傳輸,甚至加密的ftp ssh2內建 因此ssh成為使用極廣的服務之一,不僅如此,ssh還有另一項非常有用的功能,就是它的埠 隧道功能,利用此功能,讓一些不安全的服務象tcp pop3 smtp ftp,ldap等等通過ssh的...

通過SSH隧道連線遠端MySQL資料庫

命令 ssh ncpf root 111.111.111.111 l 3316 127.0.0.1 3306 引數 c 使用壓縮功能,是可選的,加快速度。p 用乙個非特權埠進行出去的連線。f 一旦ssh完成認證並建立port forwarding,則轉入後台執行。n 不執行遠端命令。該引數在只開啟 ...