【问题标题】:Running MPI job on non-standard ssh port在非标准 ssh 端口上运行 MPI 作业
【发布时间】:2016-07-16 07:11:23
【问题描述】:

我正在设置使用 MPICH 3.2 运行一些并行作业,并尝试使用提供的示例程序 cpi 测试配置(3 个节点,名为 Ruby、Sapphire 和 Onyx(主))与安装。当我尝试运行作业时,出现以下错误:

ssh: connect to host Ruby_Slave port 22: No route to host
Host key verification failed.

Ruby 在非标准 ssh 端口上运行 ssh,我认为这可能是问题所在。有没有办法在 MPI 中指定用于 ssh 的端口?

编辑1:

Host Sapphire
    HostName 10.42.43.11
    Port 22
    PasswordAuthentication no
    EnableSSHKeysign yes
    RSAAuthentication yes
    PubkeyAuthentication yes

【问题讨论】:

  • 没有 Open MPI 3.2 这样的东西。该项目刚刚发布了 2.0.0 版本。你的实现可能是 MPICH。
  • 我的错,我正在运行 MPICH。我会适当地编辑问题。
  • 这是一个重要信息,因为这两种实现都具有完全不同的机器文件格式。

标签: ssh mpi


【解决方案1】:

据我所知,您无法在 MPI 中指定用于 SSH 的端口。

但是,您可以在 .ssh/config 中逐台告诉 SSH 使用哪个端口。用户配置文件(通常)位于~/.ssh/config,系统范围的配置文件位于/etc/ssh/ssh_config

这是一个示例配置:

Host 192.168.0.101
Port 5101
Host 192.168.0.102
Port 5102

也可以看看man ssh_config

【讨论】:

  • 这是否等同于 /etc/ssh/ssh_config 中的设置?我已经指定了要在那里使用的特定端口。例如:Host Ruby HostName 10.1.10.128 Port 1246 PasswordAuthentication no RSAAuthentication yes PubkeyAuthentication yes EnableSSHKeysign yes
  • @Boss1295 我认为你有HostHostName 错了。我认为 IP 地址应该遵循 HostRuby 应该遵循 HostName
  • 我刚刚将全局 ssh_config 文件中的内容添加到本地 ssh_config 文件中,看起来主机文件中的机器有多个别名,并且无法识别它们。我得到的错误已经改变,并且与同样的更多 ssh 问题一致。我将在机器上传播这些更改,看看它是否有效。谢谢!
  • 嗯,刚刚看到你的第二条评论,这似乎对我在 MPI 之外的机器之间进行 ssh'ing 很好。我将使用格式正确的文件编辑我的问题。
  • @Boss1295 你的配置文件是正确的,我弄错了。
猜你喜欢
  • 2011-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-07
  • 2013-09-02
  • 2014-10-16
  • 2012-05-21
  • 2017-07-14
相关资源
最近更新 更多