我在远程服务器上运行dispynode。我试图从我的电脑(客户端)打开SSH隧道并配置dispyJobCluster以使用此隧道。但它不起作用。我没有配置这个权利?以下是我正在做的:使用通过ssh隧道进行端口转发的缺陷
(PS 我没有在分布式&并行计算也不网络有深入的了解,我是一名土木工程师,所以请原谅我,如果我不使用权。有时技术字)
SSH隧道:
plink -v -ssh -L 61:localhost:21 [email protected]
这将转发到端口61连接到本地主机:21其中dispynode运行在服务器上
dispynode:
sudo dispynode.py -d --ext_ip_addr localhost -p 21 -i localhost
将侦听端口21,并使用本地主机,导致其传送虽然隧道回到客户端
与此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隧道命令提示符以下错误:
打开连接到本地主机:21转发来自127.0.0.1:64027
的转发端口关闭
在至少我猜这意味着dipsy试图访问打开的SSH隧道,但我不确定服务器端发生了什么。似乎dispynode什么都没收到。 与服务器上的TCPdump进行快速流量捕获,以确认它。对于一些未知的原因,端口更改为64027.
我也曾尝试同时打开2个SSH隧道:
一个用于客户机到服务器的通信
砰砰 - v -ssh -L 61:localhost:21 [email protected]
一个用于服务器到客户端的通信
PLINK -v -ssh -R 20:本地主机:60 [email protected]
但没有运气。我甚至不能肯定它是否是最好用远程转发或本地转发
我试过这个解决方案的dispy开发者自己建议,但并没有为我工作:
http://sourceforge.net/p/dispy/discussion/1771151/thread/bcad6eaa/
我上面使用的配置是否错误?我应该使用远程还是本地转发?为什么端口会自动更改,是否可能是因为我公司的防火墙通过我尝试使用的端口阻止连接?有没有人设法通过SSH隧道运行dispy?