使用 Ruby 我试图通过执行以下操作从另一台机器上的文件中获取内容:
run_this = `ssh user@thecomputer cat myfile.txt`
问题是第一次运行时,它正在等待引入"is"或“否”:
The authenticity of host 'thecomputer (11.12.134.46)' can't be established. ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no)?
我需要在没有人工干预的情况下自动提供"is"
我该怎么做?
最佳答案
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"
关于ruby - 在 ruby 中调用 bash 时如何提供 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54131769/