我在 Mac OS X 10.6.2 上尝试连接到 linode 上的 ubuntu 服务器 8.04.1。
ssh -L 127.0.0.1:3306:[[remote ip]]:3306 user@server -N
我想设置 ssh 隧道以便我可以访问远程 mysql 服务器。
首先,我被告知bind: Address already in use
。这只有在我之前尝试过该命令之后才会发生。如何手动关闭端口转发会话?
其次,当我将命令更改为ssh -L 127.0.0.1:3310:[[remote ip]]:3306 user@server -N
(我更改了要监听的本地端口)时。channel 1: open failed: connect failed: Connection refused
当我尝试通过 MySQL workbench 或 sequel pro 连接到 MySQL 服务器时,系统会提示我。
要通过 MySQL 工作台连接,我使用以下设置:
- 主机:127.0.0.1 端口:3310(如果 3306 正在使用)
- 用户名:mysql 用户名
- 密码:mysql密码
- 数据库:我没有放任何东西
答案1
这应该有效:
ssh -L 3310:127.0.0.1:3306 user@server
第一个端口号是要使用的本地端口(不能已被使用),冒号之间的 IP 是从您要 ssh 连接的主机的角度来看要连接的 IP。第二个端口号是要连接的端口。如果您要连接到的服务器不是您要 ssh 连接的服务器,请尝试以下操作:
ssh -L 3310:<remote-IP>:3306 user@server
通常,当我想要多次执行此操作时,我会在 ~/.ssh/config 中创建一个条目,如下所示,其中 sshhost.example.com 是我要 ssh 连接的服务器,我想要打开的本地端口是 5910,我想要连接的另一端的 IP 是 192.168.35.69,我想要连接的端口是 5900:
Host desk
Hostname sshhost.example.com
User jed
Port 22
LocalForward 5910 192.168.35.69:5900
然后从命令提示符我就可以执行
jed@jed-mbp:~$ ssh desk
并建立一条通往我办公室桌面的隧道。
祝你好运,
--杰德
答案2
目前在 Mac OS Catalina 上-N
需要参数来避免常规登录,因此更新后的命令将是:
ssh -N -L 5984:127.0.0.1:5984 [email protected]