使用ProxyTunnel通过HTTP进行SSH“套接字读取错误:[104]由对等方重置连接”

时间:2014-09-02 12:39:57

标签: linux apache ssh

我正在尝试通过我的apache web服务器通过HTTP连接到我的SSH服务器,我已按照[1]和[2]等指南中的说明进行操作,隧道连接并且约1分钟后我得到SSH连接到我的服务器。

然而,在链中的某处似乎有60秒的超时,因为我在大约60秒后得到错误Socket read error: [104] Connection reset by peer。当我按配置运行ssh命令和单独运行proxytunnel命令时,都会发生这种情况。

我尝试通过将ServerAliveInterval更改为30秒并在TCPKeepAlive文件中启用.ssh/config以及在apache中放置ProxyTimeout 3600来解决此问题配置,我在下面包含。

ProxyRequests On AllowConnect 22 ProxyTimeout 3600 <Proxy *> Order deny,allow Deny from all </Proxy> <ProxyMatch 127.0.0.1> Order deny,allow Allow from all </ProxyMatch>

感谢您的帮助。

[1] http://dag.wiee.rs/howto/ssh-http-tunneling/

[2] http://blog.cppse.nl/apache-proxytunnel-ssh-tunnel

编辑:我正在运行Apache 2.4

2 个答案:

答案 0 :(得分:1)

由于没有确切的问题,以下是我如何为我的服务器修复此问题(当我想从全球任何计算机访问它时):

https://wiki.ubuntuusers.de/shellinabox/

&#39; shell-in-a-box&#39;模拟一个可以从任何浏览器调用的ssh shell(我测试过chrome和firefox)。

这里的安装教程很好:

http://www.tecmint.com/shell-in-a-box-a-web-based-ssh-terminal-to-access-remote-linux-servers/

并且不要忘记删除“仅限本地主机”&#39;

# if you want to restrict access to shellinaboxd from localhost only
SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125 --localhost-only"

在配置文件中

/etc/default/shellinabox

以便能够从您的网络外部访问它。

答案 1 :(得分:0)

可以通过在apache配置中设置以下内容来工作

 RequestReadTimeout header=0,MinRate=500 body=0,MinRate=500

请参阅https://sourceforge.net/p/proxytunnel/mailman/message/33649006/