利用SSH隧道方式連線遠端MySQL伺服器
1、簡介:
大多數人知道SSH是用來替代R命令集,用於加密的遠端登入,檔案傳輸,甚至加密的FTP(SSH2內建),因此SSH成為使用極廣的服務之一,不僅如此,SSH還有另一項非常有用的功能,就是它的埠轉發隧道功能,利用此功能,讓一些不安全的服務象TCP、POP3、SMTP、FTP,LDAP等等通過SSH的加密隧道傳輸,然後,既然這些服務本身是不安全的,密碼和內容是明文傳送的,通過使用SSH隧道傳輸的話再想在其中間監聽也是徒勞無功的了。本文主要介紹通過SSH隧道連線遠端Mysql伺服器,SSH隧道更詳細的文章參見:官方關於SSH隧道的介紹文章
2、使用Windows客戶端連線
下面介紹使用windows系統下比較流行的MySQL終端工具SQLyog Enterprise,通過SSH隧道連線Mysql伺服器。如下圖:
新建連線
MySQL標籤頁
SSH標籤頁
3、linux命令列下使用ssh命令建立SSH隧道
mysql伺服器地址為:192.168.99.52
本機地址為:192.168.99.91
前提
將本機的ssh public key複製到mysql伺服器中,也就是將本機的id_rsa.pub內容新增到mysql伺服器的~/.ssh/authorized_keys檔案中。我這裡用命令實現。
利用 ssh-keygen 命令 生成本機id_rsa.pub檔案
# ssh-keygen 連續回車生成id_rsa.pub 檔案
將id_rsa.pub檔案複製到mysql伺服器中
# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.99.52
開始挖隧道
利用ssh命令在本機開個3388的埠,這個埠為隧道的入口埠,也就是說我一會兒通過在本機連線這個埠來達到連線mysql伺服器3306埠的目的。使用命令如下:
ssh -NCPf [email protected] -L 3388:192.168.99.52:3306
引數解釋
-C 使用壓縮功能,是可選的,加快速度。
-P 用一個非特權埠進行出去的連線。
-f 一旦SSH完成認證並建立port forwarding,則轉入後臺執行。
-N 不執行遠端命令。該引數在只打開轉發埠時很有用(V2版本SSH支援)
執行完後檢視本地連線情況
# netstat -tulnp | grep 3388
tcp 0 0 127.0.0.1:3388 0.0.0.0:* LISTEN 14273/ssh
tcp 0 0 ::1:3388 :::* LISTEN 14273/ssh
檢視本機與mysql伺服器的ssh連線情況
# netstat -an | grep 192.168.99.52
tcp 0 0 192.168.99.91:7612 192.168.99.52:9698 ESTABLISHED
通過這兩條命令可知,執行完命令之後,本機與mysql伺服器就建立起了ssh連線,且開放了3388埠。
通過隧道連線MySQL伺服器
# mysql -u dbname -P 3388 -h 127.0.0.1 -pdbpwd
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 52562
Server version: 5.1.31-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
[email protected] [(none)] >show databases;
4 rows in set (0.00 sec)
連線成功!
本文來自:http://salogs.com/2009/11/%E5%88%A9%E7%94%A8ssh%E9%9A%A7%E9%81%93%E6%96%B9%E5%BC%8F%E8%BF%9E%E6%8E%A5%E8%BF%9C%E7%A8%8Bmysql%E6%9C%8D%E5%8A%A1%E5%99%A8/
相關推薦
利用SSH隧道方式連線遠端MySQL伺服器
1、簡介: 大多數人知道SSH是用來替代R命令集,用於加密的遠端登入,檔案傳輸,甚至加密的FTP(SSH2內建),因此SSH成為使用極廣的服務之一,不僅如此,SSH還有另一項非常有用的功能,就是它的埠轉發隧道功能,利用此功能,讓一些不安全的服務象TCP、POP3
0058-利用ssh客戶端工具遠端連線linux系統
軟體下載SecureCRT 64位 在網盤搜尋 2 檢視檔案 cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0c:29:94:d8:45 TYPE=Ether
利用SSH隧道技術實現跳板機SHELL登陸以及SFTP到內網伺服器
出於安全考慮,公司的一組應用伺服器僅允許特定P遠端SSH訪問,帶來安全防護的同時也增加了進行SSH登入和SFTP上傳維護的繁瑣,在授權的IP伺服器上搭建VPN作為跳板是一種解決方案,本文闡述的,是另一種更加簡單的安全訪問方式,主要是基於日常維護所使用的Xshell和Xftp工具來配置(這兩個工具實在是太方
[CentOS Python系列] 四.阿里雲伺服器CentOS連線遠端MySQL資料庫及pymsql
從2014年開始,作者主要寫了三個Python系列文章,分別是基礎知識、網路爬蟲和資料分析。 隨著人工智慧和深度學習的風暴來臨,Python變得越來越火熱,作者也準備從零學習這些知識,寫相關文章。本篇
Mac使用SSH免密碼連線遠端伺服器(DigitalOcean)
起因 作為Github學生包裡面幾個比較實用的東西,DigitalOcean提供給我們一張50美刀的券,不過需要用PayPal充值5美刀才能啟用,大概就三十塊錢吧。 以前有邀請他人送10美金的活動。但現在優惠提升了!!被邀請者六十天內有100美金的額度可以用,就
pgcli通過SSH本地轉發連線遠端伺服器上的PostgreSQL DB
遠端主機(10.64.1.129)需求: 1. 假設遠端主機打開了ssh埠 2. 啟動了PostgreSQL,且監聽埠為預設的5432 3. 遠端主機的postgreSQL DB只允許localhost訪問 本地主機(10.64.71.6)需求:
利用SSH隧道技術穿越內網訪問遠端裝置
本文為作者原創,轉載請註明出處:https://www.cnblogs.com/leisure_chn/p/11899478.html 通常,我們用於除錯的計算機無法遠端訪問位於區域網中的待除錯裝置。通過 ssh 的埠轉發(又稱 ssh 隧道)技術,可以實現這種遠端除錯功能。 下文中,sshc 指 ssh 客
rsync命令詳解、rsync用ssh隧道方式同步
命令 針對 添加 ssh root res 方式 author 設備文件 對待 ● rsync格式安裝命令 yum install -y rsync與scp的區別:scp復制為完全覆蓋,rsync為增量同步,只同步修改過的數據。rsync命令格式如下: rsync 選項
本地cmd連線遠端mysql資料庫
一、登入遠端mysql 輸入mysql -h要遠端的IP地址 -u設定的MySQL使用者名稱 -p登入使用者密碼 例如:mysql -h 192.168.1.139 -u root -p dorlocaldata ( 如果不能實現,把MySQL安裝目錄下的MySQL Server 5
配置phpmyadmin連線遠端 MySQL資料庫
1、phpmyadmin程式所在伺服器:192.168.1.1,訪問地址為:http://192.168.1.1/phpmyadmin 2、MySQL資料庫所在伺服器:192.168.1.2,已經允許資料庫外鏈,MySQL資料庫使用者名稱:admin 密碼:123456 3、現在要通過http://
Jmeter中使用SSH外掛,連線遠端linux機器執行命令
一、Why 在雲主機測試中,需要使用SSH協議連線雲主機進行相關操作 在python中使用paramiko庫很好實現,在如果要使用jmeter做效能測試時,怎麼做? 二、解決 既然原生jmeter沒有相關的ssh sampler,那就先按思路看看網上有沒有現成的,沒有再自己寫,googl
錯誤碼:2003 不能連線到 MySQL 伺服器在 (10061)
cmd中開啟mysql,出現錯誤: 解決方法: 開啟D:\mysql-8.0.12-winx64中的my.ini 將 也就是說mysql伺服器預設綁定了127.0.0.1埠,這樣其他遠端
Node.js使用ftp連線遠端ftp伺服器列舉和下載檔案示例
示例程式碼: var Ftp = require('ftp'); var fs = require('fs'); var path = require('path'); // 首先判斷引數中是否包含{dateString} var args = process.argv.splice(2); if (ar
Java/Spring使用IPv6地址連線到MySQL伺服器
地址格式 IPv6 地址有兩個邏輯部分:64 位網路字首和 64 位主機地址部分。(主機地址通常是從介面 MAC 地址自動生成的。) IPv6 地址由 8 組 16 位十六進位制值表示,以冒號(:)分隔,如下所示: IPv6 地址的典型示例: 2001:0db8:85a3
Oracle:如何使用PL-SQL 11.0連線遠端Oracle12c伺服器?
背景: 如何實現遠端連線伺服器上的oracle12c? 1、安裝一個oracle12c空庫,使用oracle12c中整合的oracle pl/sql developer工具實現連線遠端伺服器上的oracle12c資料庫。缺點:太笨重;優點:功能全。 2、安裝一個orac
php連線遠端mysql資料庫例項
下面把localhost改成遠端IP即可了 例項 $conn=mysql_connect('150.125.221.25','root','123'); 配置項:重點: 第一步:進去mysql(mysql/bin mysql -u root -p); 第二步:輸入密碼 第
Navicat for mysql 1130錯誤 用Navicat連線遠端MYSQL:報錯ERROR 1130: Host '192.168.1.3' is not allowed to connec
Navicat for mysql 1130錯誤 用Navicat連線遠端MYSQL,提示如下錯誤,我以為是自己的防火牆問題,但是關了,依然不行。 我認為這段英文,有點誤導,讓人感覺是自己這邊出了問題。 看解決方法吧 ERROR 1130: Host '192.168.1.3' is not allo
利用IDEA進行GIT連線遠端倉庫
GitGit是一個免費的開源分散式版本控制系統,旨在處理速度和效率從小到大的專案。我們利用Git可以進行專案版本的控制。不多BB,下來我們開始進行操作。1. 首先,我們在本地建立倉庫,並將專案提交到本地1.1 我們利用idea新建一個Maven專案(其實隨便什麼專案都可以).
phpMyAdmin 嘗試連線到 MySQL 伺服器伺服器拒絕連線問題解決方法
問題如下: 我是warmserver中在用phpadmin遇到如圖所示問題: 解決方法 1 在wamp/apps/phpMyadmin搜尋到 檔案config.inc.php 如圖所示 2用記事本開啟 程式碼如下: <?php
Django連線遠端mysql資料庫
最近在做一款軟體,用django搭建的後臺管理系統,Android端需要的資料在一臺獨立的資料庫伺服器上存放著,需要做的工作是: (1)連線遠端mysql資料庫 (2)為遠端資料庫中的表建立model (1)django連線遠端資料庫, 第一步配置setting.py中的