Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby SSH:无法使用任何带有指纹/主机密钥不匹配错误的Rye::Box::Cmd命令_Ruby_Ssh_Ssh Keys - Fatal编程技术网

Ruby SSH:无法使用任何带有指纹/主机密钥不匹配错误的Rye::Box::Cmd命令

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

我正在使用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的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