![让无人值守脚本使用 ssh 密码从 Windows 连接到设备](https://linux22.com/image/772852/%E8%AE%A9%E6%97%A0%E4%BA%BA%E5%80%BC%E5%AE%88%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%20ssh%20%E5%AF%86%E7%A0%81%E4%BB%8E%20Windows%20%E8%BF%9E%E6%8E%A5%E5%88%B0%E8%AE%BE%E5%A4%87.png)
我正在创建一个在 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/