OpenSSH 隧道并连接到 MySQL

OpenSSH 隧道并连接到 MySQL

您好,我正在尝试使用 PuTTY 打开 SSH 隧道并连接到远程 MySQL 服务器。

油灰:

  1. 远程 SSH 服务器 IP 和端口

  2. 远程服务器上的 MySQL 端口

  3. 隧道:本地机器上的本地地址和端口(我在本地安装了 MySQL 服务器,因此在本地机器上我用的是 3307 而不是 3306,这样就不会与本地 MySQL 服务器冲突)

在此处输入图片描述 在此处输入图片描述

当我点击“打开”时,PuTTY 会要求输入用户名和密码,如果登录成功,我会提供该用户名和密码PuTTY 立即关闭,没有任何消息或错误

putty.log 显示以下内容:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2017.08.23 07:29:08 =~=~=~=~=~=~=~=~=~=~=~=

login as: myUser
Using keyboard-interactive authentication.
Password for myUser@Server:
Could not chdir to home directory /home/myUser: No such file or directory
This service allows sftp connections only.

现在,如果我尝试使用该选项连接 MySQL Workbench Standard TCP/IP over SSH,它就可以工作了......

在此处输入图片描述

我在论坛上看到过解决方案是调整 SSH 服务器上的选项,但我无法控制 SSH 服务器。

虽然我可以使用 WorkBench 连接到数据库,但这里的目标是让 Putty 打开 SSH 隧道。

如何使用 PuTTY 打开 SSH 隧道?我做错了什么?如何在不更改服务器的情况下解决这个问题?


使用 plink:获得相同的结果

在此处输入图片描述


编辑

我禁用了根本不要启动 shell 或命令按照 Martin 的建议,现在我没有收到 SFTP 错误,但输入密码后什么也没有发生

日志只是写下我在屏幕上看到的内容:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2017.08.23 10:07:25 =~=~=~=~=~=~=~=~=~=~=~=
login as: user
Using keyboard-interactive authentication.
Password for user@server:

编辑 2-已解决

遵循 Martin Prikryl 的建议后:

我交换了端口:L3307 -> 127.0.0.1:3306

在此处输入图片描述

Putty 事件日志现在显示:Access granted - Local port 3307 forwarding to 127.0.0.1:3306

现在 MySQL WorkBench 可以127.0.0.1:3307成功连接

谢谢!

如果你需要使用 PLINK 执行此操作,以下是我操作的方法:

plink.exe SSH_SERVER_IP_OR_ADDRESS -P 2204 -ssh -l USER -pw PASSWORD -L 3307:127.0.0.1:3306 -N -v

答案1

尝试检查:
连接 > SSH > 协议选项 > 根本不启动 shell 或命令


您还可以交换隧道的本地和远程端口(您将 2 和 3 的标签颠倒了。)

它应该是:

L3307 => 127.0.0.1:3306

检查PuTTY事件日志了解详细信息(PuTTY控制台窗口标题并选择“事件日志”)。

相关内容