我在远程服务器上运行dispynode。我正在尝试从我的计算机(客户端)打开一个SSH隧道,并配置dispyJobCluster来使用这个隧道。但这不管用。我没有正确配置这个吗?我就是这样做的:
( p.s .我对分布式并行计算和网络没有很深的了解,我是土木工程师,所以如果我有时不使用正确的技术术语,请原谅)
SSH隧道:
plink -v -ssh -L 61:localhost:21 user@myserver.net这将将连接转发到端口61到正在运行dispynode的服务器上的localhost:21。
dispynode :
sudo dispynode.py -d --ext_ip_addr localhost -p 21 -i localhost将监听端口21,并使用localhost进行传输,通过隧道将其引导回客户端。
使用此dispyClient JobCluster代码:
cluster = dispy.JobCluster( runCasterDispyWorker,
nodes=[('localhost',61)], \
ip_addr='localhost', \
ext_ip_addr='localhost', \
port = 61, \
node_port = 21, \
recover_file='recover.rec', \
)启动dispy.py时,在打开SSH隧道的命令提示符中会出现以下错误:
打开到localhost的连接:21,用于从127.0.0.1:64027转发 转发端口关闭
至少我猜这意味着dipsy试图访问打开的SSH隧道,但我不确定服务器端发生了什么。看来脱衣舞节什么也没收到。在服务器上使用TCPdump运行快速流量捕获就可以确认这一点。由于一些未知的原因,端口更改为64027。
我亦曾尝试同时开放两条SSH隧道:
但运气不好。我甚至不确定使用远程转发还是本地转发是最好的
我尝试过这个解决方案,这是dispy的开发人员自己提出的,但对我来说没有用:
http://sourceforge.net/p/dispy/discussion/1771151/thread/bcad6eaa/
我上面使用的配置是否错误?我应该使用远程转发还是本地转发?为什么端口会自动改变,难道是因为我公司的防火墙阻塞了我试图使用的端口的连接吗?以前有人成功地跑过SSH隧道吗?
发布于 2015-11-18 16:57:34
这对我有用。它应该适用于你:
plink -v -ssh -R 51347:localhost:服务器上51347用户名@服务器的公共IP或服务器-N上的DomainName -pw用户密码
sudo dispynode.py -d --ext_ IP _addr公共IP或服务器的域名
试试这段代码..。确保允许使用所需的端口。
https://stackoverflow.com/questions/33557194
复制相似问题