我正在创建一个在 Windows 上无人值守运行的脚本。该脚本需要通过设备上的 SSH 执行命令。该设备不支持公钥/私钥身份验证,仅支持密码身份验证。该脚本需要通过 SSH 执行一些命令并捕获结果(通过 stdout)。该脚本将在 Windows 上运行并使用内置 Windows SSH 客户端,出于合规原因,这是首选,但如果不同的客户端可以完成这项工作,我也想知道。
我需要一种方法来绕过密码提示,以便由脚本提供密码。如何实现?
我的考虑是:
- 公钥身份验证 - 不受设备支持
- 使用腻子 - 需要完全无人看管
- sshpass-在 Windows 上不起作用
- WSL-需要Hyper-V,而机器上有不兼容的VmWare,也希望有更简单的东西
答案1
工具“expect”是否适合您?据我所知,它可以在 Linux 上运行,但也移植到 Windows。使用此工具,您可以捕获输出并通过一些输入对其进行反应。也许这篇文章可以满足您的需求:https://hostadvice.com/how-to/how-to-automate-tasks-in-ssh/