您好,我正在尝试使用 PuTTY 打开 SSH 隧道并连接到远程 MySQL 服务器。
油灰:
远程 SSH 服务器 IP 和端口
远程服务器上的 MySQL 端口
隧道:本地机器上的本地地址和端口(我在本地安装了 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控制台窗口标题并选择“事件日志”)。