如何在Ruby中调用bash时提供密钥

时间:2019-01-10 15:18:59

标签: ruby bash ubuntu ssh

使用Ruby,我正在尝试通过以下操作从另一台计算机上的文件中获取内容:

run_this = `ssh user@thecomputer cat myfile.txt`

问题是这是第一次运行,它正在等待引入“是”或“否”:

  

无法确定主机“计算机(11.12.134.46)”的真实性。   ECDSA密钥指纹为SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxx。   您确定要继续连接(是/否)吗?

我需要在没有人工干预的情况下自动提供“是”

我该怎么办?

1 个答案:

答案 0 :(得分:1)

run_this = `ssh -oStrictHostKeyChecking=no user@thecomputer cat myfile.txt`

在没有关闭StrictHostKeyChecking选项的情况下,ssh通常默认情况下不信任任何新主机,并且如果存在主机,它将以交互方式提示用户,否则它将失败。

您遇到的问题很常见。例如,某人正试图通过rsync解决这种ssh行为:

Bypass Rsync Prompt "Are you sure you want to continue connecting"