我需要编写一个批处理脚本,当用户名和密码保存在某处(例如:在文件中)时,该脚本会自动连接到 VPN。 VPN 客户端是 openconnect,它提供了 CLI,但问题是需要以交互方式向命令提供用户输入才能完成。
当我运行时请参阅下面的输出:
openconnect <serverhostname>
OUTPUT
POST https://<serverhostname>/
Connected to <serverhostname>:443
SSL negotiation with <serverhostname>
Server certificate verify failed: signer not found
Certificate from VPN server "<serverhostname>" failed verification.
Reason: signer not found
To trust this server in future, perhaps add this to your command line:
--servercert pin-sha256:<somesha>
Enter 'yes' to accept, 'no' to abort; anything else to view:
所以我基本上必须手动输入 yes 并按 Enter 键(它还会提示进一步输入),这需要在脚本中自动化。另外,值得注意的是,输出建议提供--server-cert
选项,我可以这样做,但是当它询问密码时,没有选项。
我尝试将输入行放入文件中并将其重定向到命令的标准输入(这不起作用,但与 Linux 上的 zsh 上的方法相同)
openconnect <serverhostname> < inputfile.txt
我还尝试通过管道传输到命令的标准输入,但这也不起作用。
我认为特定的命令不是从 stdin 读取的,而是直接从控制台读取的,我真的不知道如何读取,但我可以在 cmd 上找到一些有关“CON”的信息。
任何解决方案都受到高度赞赏。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)