sshd 配置文件中“AllowTcpForwarding”的“yes”、“all”和“local”有什么区别?

sshd 配置文件中“AllowTcpForwarding”的“yes”、“all”和“local”有什么区别?

有一天,我尝试使用工作台连接到数据库。我无法使用 SSH 隧道连接到我的数据库,但如果我只是通过 SSH 连接到我的服务器,我就能够在本地进行连接。

阅读日志后发现如下错误"refused local port forward": originator 127.0.0.1 port 0, target localhost port 3306

在检查我的配置时,我发现AllowTcpForwarding 设置为“yes”。

为什么将“AllowTcpForwarding”设置为“local”可以解决我的问题?在我看来,是的意思是……是的。该手册对我没有多大帮助:

指定是否允许 TCP 转发。可用的选项有 yes(默认)或 all 允许 TCP 转发,no 阻止所有 TCP 转发,local 允许本地(从 ssh(1) 的角度来看)

另一条信息是我可以通过启用 X11Forwarding 来使其工作(这对我来说没有意义,因为 jdbc 与 X 服务器无关?)

总结一下:配置不是工作:

X11Forwarding no
AllowTcpForwarding yes

有效的配置:

X11Forwarding yes
AllowTcpForwarding yes

或者

X11Forwarding no
AllowTcpForwarding local

相关内容