我知道这是用来防止用户使用服务器作为代理。 但是,如果用户可以使用curl / wget,这是否意味着它本质上是可绕过的?
有关SSH的手册页面也说了同样的事情,但是关于如何做到这一点并不是很具体。
我的经验是,您只能像使用authorization_keys中的command=设置的那样使用此选项。 当您授予用户完整的shell访问权时,这并不是非常有用。
如果你有shell访问的方法,过去的一种方法是使用像slirp这样基本上可以模拟的工具,给你一个PPP连接。
我不确定使用curl / wget的具体方法,但是我根本不会对它们感到惊讶。 虽然我认为如果netcat位于远程系统上,绕过会更容易一些。
如果您允许通过SSH远程执行内容,则可以通过安全连接启动curl / wget并pipe理吞吐量。 由于这不是TCP转发,它是一个TCP连接,触发应用程序执行,触发另一个TCP连接(或其一系列),然后通过原始TCP连接返回数据。 它需要通过第7层的旅游。 这样做更笨拙,但可以做到。