SSH 连接到远程服务器;但我的组织阻止了端口 22

rap*_*tor 3 ssh ssh-tunneling port-forwarding tunneling

我正在使用 RedHat OpenShift 服务器来部署我的 WebApp。

要访问我的应用程序的内容,我必须通过 SSH 连接到他们的服务器,例如:

ssh 56555ff90abcdefbf6e000077@appname.rhcloud.com
Run Code Online (Sandbox Code Playgroud)

但是ssh失败了,因为传出的 22 端口被阻塞了。另外,我没有任何用于端口转发的公共 IP 分配系统。

有什么办法可以使ssh工作?

von*_*and 13

必须联系网络的负责人,并说服他们您的访问请求是合法的。不管访问限制的理智如何,绕过它们至少会让你和你的老板陷入困境,甚至可能被视为“黑客”并让你受到起诉。


小智 10

免责声明:此答案中的所有解决方案都可能导致您因违反组织安全策略而被解雇。如果有网络管理员不断检查异常流量高峰和模式,您可能会被发现。如果您不想走技术混杂的道路来获得访问权限,我建议您遵循vonbrand 的回答并以合法的方式请求访问权限。

正如评论中所要求的那样,它打算避免使用肯定的安全策略,例如“我没有 root 访问权限”和“此端口在我的公司被阻止”,就像使用一次性帐户一样,我冒昧地删除了有助于从我的答案中创建“解决方案”过程的技术细节。然而,这个想法仍然是因为这是黑客思维方式的原则,任何从事 IT 工作的人都应该具备的技能。

选项 1:将 ssh 置于不同的端口上。

选项 2:将从另一个端口传入的流量重定向到 tcp/22(ssh)

方案3:使用shellinabox使远程web terminal.AVOID使用HTTP。使用shellinabox联机帮助页中说明的证书,即使它是self-signed

选项 4(非 root 解决方案):在云提供商处购买一台简单的服务器(每月花费 5-10 美元)以获得 ssh jumpbox。

  • 是的。我注意到我在几年前就给出了这个答案,却忘了讲述法律方面的基本知识。今天,我得到了一个 Upvote 并为此感到内疚,所以我们在这个星球上短暂的一生中犯了错误并试图修复:) (2认同)
  • @nwildner 它发生了!唯一不犯错误的人是什么都不做的人。 (2认同)

小智 5

我喜欢为此使用sslh。它利用了不同协议以不同方式启动连接的事实。如果它检测到 SSH,它会将连接转发到 sshd,如果它检测到 HTTPS,它会将连接转发到 httpd。

这允许您让例如 nginx/apache 和 ssh 侦听同一个端口(通常是 443)。