Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
取消加密SSH(或者,通过HTTP代理Minecraft数据包)_Ssh_Minecraft_Ports_Openshift_Tunneling - Fatal编程技术网

取消加密SSH(或者,通过HTTP代理Minecraft数据包)

取消加密SSH(或者,通过HTTP代理Minecraft数据包),ssh,minecraft,ports,openshift,tunneling,Ssh,Minecraft,Ports,Openshift,Tunneling,我已经在OpenShift上设置了一个Minecraft服务器,这是一个免费的PaaS。OpenShift需要内部应用程序(如我的服务器)绑定到15000到35530之间的端口或8080端口。但是,它还需要外部客户端通过以下端口之一访问服务器: 22, 25, 80, 109, 110, 143, 220, 443, 465, 587, 993, 或995 换言之,没有任何内部暴露的端口暴露在外部;然而,有两种沟通方式。一个是SSH端口隧道,我已经在我的计算机上安装了它。第二个是通过HTTP,当

我已经在OpenShift上设置了一个Minecraft服务器,这是一个免费的PaaS。OpenShift需要内部应用程序(如我的服务器)绑定到15000到35530之间的端口或8080端口。但是,它还需要外部客户端通过以下端口之一访问服务器: 22, 25, 80, 109, 110, 143, 220, 443, 465, 587, 993, 或995

换言之,没有任何内部暴露的端口暴露在外部;然而,有两种沟通方式。一个是SSH端口隧道,我已经在我的计算机上安装了它。第二个是通过HTTP,当它在内部通过8080发送时,会自动转发到80。SSH隧道的问题是需要通过OpenShift添加客户机的公钥,而客户机需要设置他们的私钥,这对我的大多数朋友来说太复杂了

我想让连接过程更容易,所以我想到了两种可能的方法。第一种设置更简单,即通过不需要特定的公钥或私钥进行连接来“不安全”SSH连接。它是一个游戏服务器,所以安全性对我来说根本不是问题,但我认为这可能是不可能的,因为SSH是为了安全而构建的。另一种更难的方法是将Minecraft数据包嵌入HTTP数据包,OpenShift系统会自动转发这些数据包。也许这可以使用现有的HHTP代理系统实现


如果有人能帮我解决这两种方法中的任何一种(或者另一种,如果你能想到的话),我将非常感激

为什么不专门为此应用程序创建一个ssh密钥对,并创建一个脚本,使用该特定密钥打开隧道,然后启动程序?您还可以限制任何使用该键的连接可以执行的操作(不执行任何操作)


这只是即兴的——可能并不完全正确。此外,假设是unix(Mac或Linux)系统。对于windows,您必须安装ssh客户端(mingw?)并使用cmd语法。

您描述了遇到的问题。如果你解释一下你想做什么可能会有所帮助。我不知道minecraft,它通常如何通信(哪个端口,什么协议)?您打算如何
将Minecraft数据包嵌入HTTP数据包
?(您可能可以通过在每台客户机上运行本地代理来实现这一点,但您可能还有其他想法。)这似乎是一个更好的解决方案。一旦我生成了密钥对(并将公钥添加到OpenShift),我将如何做呢?我该如何编写批处理脚本?您说过已经在您的机器上使用了ssh。只需执行相同的操作,但将-i和密钥文件路径传递给ssh。将编辑答案。我将使用PLINK自动执行此操作,我在网上找到了一个指南。非常感谢。
#!/bin/sh
ssh -i ~/pathtoidfile -L 25565:localhost:yourport -f -N
# run minecraft to local server?