![无需转发端口的 Shell 访问](https://linux22.com/image/1325010/%E6%97%A0%E9%9C%80%E8%BD%AC%E5%8F%91%E7%AB%AF%E5%8F%A3%E7%9A%84%20Shell%20%E8%AE%BF%E9%97%AE.png)
这个问题可能有点愚蠢,但是你能通过不转发任何端口来获得对 Web 服务器的 shell 访问权限吗?我在工作,无法转发任何端口以允许访问。还有其他方法吗?
编辑:我需要通过 SSH 进入我的 hostgator 服务器,以便解压一个大文件,这样我就不需要手动上传所有内容了。我们的网络位于 Cisco 路由器后面,PC 上有单独的软件防火墙。我认为我无法转发端口 2222。
答案1
根据您本地网络的限制程度,您可以将 SSH 服务器的监听端口更改为 80 或 443,从而欺骗本地网络认为您正在通过这些端口进行通信。但是,状态防火墙几乎会立即捕获这些连接并阻止它们,因为 SSH 看起来不像 HTTP(S),因此它会检测到您正在通过 HTTP 端口发送 SSH 流量并阻止它。
另外,如果您使用的是仅 HTTP 代理或透明(强制)HTTP 代理,那么您只能使用 HTTP 以外的任何协议。
如果您以这种方式被锁定,那么您可以做的最好的事情是通过安装软件包在服务器上启用基于 Web 的 SSH 访问,或者使用可以这样做的 Web 服务(例如 GoToMySSH)。但在实践中,许多网络还会阻止最常见的 Web SSH 提供商,或阻止他们使用的技术(ActiveX 或 Java 小程序),或者对连接进行充分记录和监控,如果他们发现您访问了远程服务器上的远程 shell,他们就会阻止对远程服务器的访问。
简而言之,在你无法控制的网络上与网络管理员玩猫捉老鼠的游戏几乎是一场抓救命稻草的游戏。如果他们想阻止你做 X 并且投入大量时间来阻止它,那么他们最终会成功。但如果你只有一个简单的路由器,没有被监控,那么你只需更改监听端口就可以成功。
也就是说,如果您无法通过 SSH 进入系统,那么您将无法进入系统来更改端口或设置 Web SSH 控制台。因此,您可能必须先回到限制较少的连接。