通过 PPTP 隧道从服务器到客户端的 ssh

通过 PPTP 隧道从服务器到客户端的 ssh

我能够设置一个带有服务器和两个客户端的小型 PPTP VPN。所有机器都运行 Ubuntu 14.04。

连接运行良好且可靠。我可以从任何地方 ping 所有机器。此外,通过浏览器进行 HTTP 访问也运行正常。

但是我无法从任何机器通过 SSH 连接到任何其他机器。

我没有安装任何自定义防火墙规则,因为整个设置都在外部防火墙后面。

我将非常感激任何关于如何通过 PPTP 启用 SSH 的提示。

谢谢!

更新

我通过调用在客户端上启用了日志记录,并通过在服务器上更改以下两行来启用日志记录:ssh -v [email protected]/etc/ssh/sshd_config

# Logging
SyslogFacility DAEMON
LogLevel DEBUG

我可以在日志文件中看到可以建立连接。但是,这个过程总是在某个地方卡住:

客户端日志

debug1: Connecting to 10.0.0.1 [10.0.0.1] port 22.
debug1: Connection established.
...
debug1: SSH2_MSG_KEXINIT sent

服务器日志

Aug 28 02:21:53 lemaker sshd[2130]: Connection from 10.0.0.11 port 60666 on 10.0.0.1 port 22
...
debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]

此时连接会卡住一分钟左右,然后断开。

答案1

我终于解决了这个问题。我必须将 PPTP 连接的 MTU 从 1492 减少到 1392。

为了找到正确的 MTU 大小,请通过执行ifconfig ppp0 mtu 1200(或任何其他值/接口)直接在 shell 中尝试不同的值。

为了使更改永久生效,请将以下行添加到/etc/ppp/pptpd-options

mtu 1392
mru 1392

然后重启服务sudo service pptpd restart

并使用“ifconfig”验证mtu是否已减少。

至少就我而言,我现在终于可以打开 SSH 会话了。

相关内容