在非标准ssh端口上运行MPI作业

在非标准ssh端口上运行MPI作业,ssh,mpi,Ssh,Mpi,我正在设置使用MPICH3.2运行一些并行作业,并尝试使用安装提供的示例程序cpi测试配置(3个节点,名为Ruby、Sapphire和Onyx(Master))。尝试运行作业时,我发现以下错误: ssh: connect to host Ruby_Slave port 22: No route to host Host key verification failed. Ruby在非标准ssh端口上运行ssh,我认为这可能是问题所在。有没有办法在MPI中指定ssh使用的端口 编辑1: Host

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

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

据我所知,您不能在MPI中指定SSH使用的端口

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

下面是一个配置示例:

Host 192.168.0.101
Port 5101
Host 192.168.0.102
Port 5102

再看看
manssh\u-config

这是否等同于/etc/ssh/ssh\u-config中的设置?我已经指定了要在那里使用的特定端口。例如:主机Ruby主机名10.1.10.128端口1246密码身份验证否RSA身份验证是公钥身份验证是启用SSHKEYSIGNyes@Boss1295我认为您的
主机
主机名
有误。我认为IP地址应该跟在
Host
后面,
Ruby
应该跟在
HostName
后面。我刚刚将全局ssh\u配置文件中的内容添加到本地ssh\u配置文件中,看起来hosts文件中的机器有多个别名,它无法识别它们。我得到的错误已经改变,并且与更多ssh问题一致。我将在机器上传播这些更改,看看它是否有效。谢谢嗯,刚刚看到你的第二条评论,这似乎对我来说在MPI之外的机器之间使用ssh很好。我将用格式正确的文件编辑我的问题。@Boss1295您的配置文件是正确的,我是反向获得的。没有打开MPI 3.2这样的东西。该项目刚刚发布了2.0.0版。您的实现可能是MPICH。我的错是,我正在运行MPICH。我将适当地编辑这个问题。这是一个重要的信息,因为两种实现都有足够不同的机器文件格式。