当前位置:首页 > 数据库 > 正文

SSH架构数据库连接方式及步骤详解?

SSH架构的数据库连接通常涉及以下几个步骤,以下是一个详细的指南:

SSH架构数据库连接步骤

步骤 详细说明
配置SSH密钥对 在本地机器上生成SSH密钥对,包括公钥和私钥,将公钥添加到远程数据库服务器的~/.ssh/authorized_keys文件中。
配置SSH客户端 在SSH客户端(如PuTTY、SSH Tunnels等)中配置以下参数:
主机名:数据库服务器的IP地址或域名
端口:SSH服务器默认端口为22
用户名:数据库服务器的用户名
私钥文件:选择刚才生成的私钥文件
创建SSH隧道 使用SSH客户端创建SSH隧道,将本地端口映射到远程数据库服务器的数据库端口。
示例命令:ssh L 3306:localhost:3306 username@remote_host
3306是本地端口,localhost是本地主机名,3306是远程数据库端口,username是数据库服务器用户名,remote_host是数据库服务器地址。
连接数据库 使用数据库客户端(如MySQL Workbench、phpMyAdmin等)连接到本地端口(如上面步骤3中配置的3306端口)。
示例连接:连接到MySQL数据库的命令为mysql h localhost P 3306 u username p

示例

以下是一个使用SSH隧道连接MySQL数据库的示例:

在本地机器上生成SSH密钥对:

SSH架构数据库连接方式及步骤详解? 第1张

  1. 将公钥添加到远程数据库服务器的~/.ssh/authorized_keys文件中:

sshcopyid username@remote_host

使用PuTTY连接到远程数据库服务器:

  • 打开PuTTY,配置以下参数:
    • 主机名:remote_host
    • 端口:22
    • 用户名:username
    • 私钥文件:选择刚才生成的私钥文件

  • 点击“Open”连接到远程服务器。

创建SSH隧道:

SSH架构数据库连接方式及步骤详解? 第2张

  • 在PuTTY会话中,选择“SSH” > “Tunnels”标签页。
  • 在“Source port”框中输入3306。
  • 在“Destination”框中输入localhost:3306。
  • 点击“Add”添加隧道。
  • 点击“Open”连接到远程服务器。

连接数据库:

  • 使用MySQL客户端连接到本地端口(如3306): mysql h localhost P 3306 u username p

FAQs

Q1:如何查看SSH密钥对?

A1:在本地机器上,可以使用以下命令查看生成的SSH密钥对:

SSH架构数据库连接方式及步骤详解? 第3张

cat ~/.ssh/id_rsa.pub

这将显示公钥,你可以将其复制并粘贴到远程数据库服务器的~/.ssh/authorized_keys文件中。

Q2:如何修改SSH隧道端口?

A2:要修改SSH隧道端口,只需在创建SSH隧道时更改L参数中的端口即可,要将本地端口映射到远程数据库服务器的3307端口,可以使用以下命令:

ssh L 3307:localhost:3307 username@remote_host

0