我正在使用 RedHat OpenShift 服务器来部署我的 WebApps。
要访问我的应用程序的内容,我必须通过 SSH 连接到他们的服务器,例如:
ssh [email protected]
但是ssh
失败了,因为传出的22端口被阻止了。另外,我没有任何用于端口转发的公共 IP 分配系统。
有什么办法可以完成ssh
工作吗?
答案1
你必须联系网络负责人,并让他们相信您的访问请求是合法的。不管访问限制是否合理,规避这些限制至少会让你与老板陷入困境,甚至可能被视为“黑客行为”并被起诉。
答案2
免责声明:这个答案的所有解决方案,可能会导致您因违反组织安全策略而被解雇。如果网络管理员不断检查异常流量峰值和模式,您可能会被抓住。如果您不想通过技术手段来获得访问权限,我建议您遵循冯布兰德的回答并以合法的方式请求访问。
正如提问者在评论中表明的那样,其意图是避免使用肯定句,如“我没有 root 访问权限”和“我公司的这个端口被屏蔽了”,就像使用一次性帐户一样,我擅自从我的答案中删除了有助于创建“解决方案”的技术细节。然而,这个想法仍然存在,因为这是黑客的思维方式,任何从事 IT 工作的人都应该具备的技能。
选项1:让 ssh 监听不同的端口。
选项2:将从另一个端口传入的流量重定向到 tcp/22(ssh)
选项 3:使用shellinabox
创建远程 Web 终端。避免使用 HTTP。使用证书,如shellinabox
联机帮助页,即使它是自签名。
方案4(非root方案):在云提供商处购买一台简单的服务器(每月花费 5-10 美元)即可拥有 ssh Jumpbox。
答案3
我喜欢用sslh为此。它利用了不同协议以不同方式启动连接的事实。如果它检测到 SSH,它会将连接转发到 sshd,如果它检测到 HTTPS,它会将连接转发到 httpd。
这允许您让 nginx/apache 和 ssh 监听同一端口(通常是 443)。
答案4
您确定 ssh 服务器设置为使用端口 22 吗?这是标准配置,但可以更改。如果是这种情况并且新端口是例如 123 尝试
ssh -p 123 [email protected]