Ruby SSH:无法使用任何带有指纹/主机密钥不匹配错误的Rye::Box::Cmd命令
我正在使用Rye ruby gem以SSH方式连接到服务器,我遇到了一个问题,如果我尝试从那里运行任何命令,我会得到以下错误: rbox=Rye::Box.new(服务器,:user=>“user”,:password=>“password”) rbox.ls 指纹d3:a1:15:ab:05:0d:4e:45:9f:b3:94:14:ca:11:d6:be与“服务器,10.10.10.2”不匹配 继续 Net::SSH::hostkeymatch:Net::SSH::hostkeymatch 我已尝试从当前用户主页(~/.ssh/known_hosts)中删除“known_hosts”文件,但仍因相同问题而失败。 我试着与不同的用户连接,但也遇到了相同的问题 奇怪的是,指纹总是显示相同的值,所以不知道它来自哪里 rbox.keys->不返回任何内容,只返回[] rye keys->NameError:未定义的局部变量或main:Object的方法“keys” rbox.host_key->该进程无法访问该文件,因为另一进程正在使用该文件。 =>[,1,] 你知道是什么导致了这个问题吗?我还能做些什么来解决这个问题呢Ruby SSH:无法使用任何带有指纹/主机密钥不匹配错误的Rye::Box::Cmd命令,ruby,ssh,ssh-keys,Ruby,Ssh,Ssh Keys,我正在使用Rye ruby gem以SSH方式连接到服务器,我遇到了一个问题,如果我尝试从那里运行任何命令,我会得到以下错误: rbox=Rye::Box.new(服务器,:user=>“user”,:password=>“password”) rbox.ls 指纹d3:a1:15:ab:05:0d:4e:45:9f:b3:94:14:ca:11:d6:be与“服务器,10.10.10.2”不匹配 继续 Net::SSH::hostkeymatch:Net::SSH::hostkeymatch
非常感谢 此库基于Ruby的Net::SSH,它正在~/.SSH/known_hosts和/etc/SSH/knowh_hosts中查找缓存的主机密钥。
有关更多信息,请参阅Net::SSH::KnownHosts上的文档。结果表明,即使您从以下位置连接: *本地服务器=>*中间服务器=>*最终服务器 这两台服务器中的哪一台并不重要,似乎使用的“已知的\u主机”文件不是这两台服务器中的任何一台,而是您的本地已知的\u主机文件 因此,您可以删除特定主机中发生故障的条目,或者创建以下.ssh/config文件以忽略主机密钥:
Host *
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
该配置文件位于Windows中的以下路径中:
C:\Users\<your_user>\.ssh\config
C:\Users\\.ssh\config
在本例中,我删除了~/.ssh/known_hosts和/etc/ssh/known_hosts甚至不存在,所以不确定从哪里提取这些值?
C:\Users\<your_user>\.ssh\config