使用 dropbear 的 dbclient 和 scp 实现,是否有办法获得与使用 scp 选项“-oStrictHostKeyChecking=no”时 openssh 产生的相同行为。
换句话说,我可以让 dropbear 的 scp 忽略“主机 $hostname 不在受信任的 hosts 文件中”警告吗?
“dbclient”程序将使用“-y”命令行选项执行此操作,因此似乎应该是可能的......我在这里遗漏了什么?
答案1
一个很好的解决方法是https://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/2010q4/001078.html
描述的解决方法是添加一个 dbclient-noask 脚本,该脚本
#!/bin/sh
dbclient -y -y "$@"
并使用“-S”选项将其提供给 scp。不要忘记使用以下命令授予帮助脚本执行权限:chmod
答案2
不幸的是,dropbear 中似乎有一个错误,-y 参数没有正确传递给 scp。
但是你真的需要忽略“主机不在受信任的主机文件中”吗?也许你应该做的是将主机密钥添加到 .ssh/known_hosts 文件中。dropbear
中还有另一个错误,导致 scp 在作为启动脚本运行时不会读取 known_hosts。
我在这里找到了有关 dropbear 的问题和解决方案的信息:
http://www.linksysinfo.org/index.php?threads/scp-wont-run-in-startup-script.68197/
如果这是你的问题,你只需要在脚本中设置 $HOME 变量的适当值,即
export HOME=/path/to/home
(/path/to/home 应该是包含 known_hosts 的 .ssh 目录的父目录)