powershell - Powershell脚本通过ssh登录并发送返回
问题描述
我面临的挑战是自动 ssh 登录到 Linux 框,该框在登录后要求接受 eula。所以我需要按两次向下箭头键,然后按一个键和一个回车键。有没有办法用 power shell 做到这一点?
解决方案
您可以使用 SendKeys 执行此操作。
以我们可以更轻松地找到窗口的方式开始该过程。否则,只需更改控制台标题并搜索即可。
Start-Process ssh Server-Name
Sleep 1
要将密钥发送到一个窗口,您需要激活该窗口“C:\Windows\System32\OpenSSH\ssh.exe”是我执行 Start-Process 后窗口的标题
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('C:\Windows\System32\OpenSSH\ssh.exe')
然后你的配置。
Sleep 1
$wshell.SendKeys('{DOWN}')
Sleep 1
$wshell.SendKeys('{DOWN}')
Sleep 1
$wshell.SendKeys('a')
登录
$wshell.SendKeys('mysupersecurepasswordnobodywilleverguess')
$wshell.SendKeys('{ENTER}')
我建议您在像这样的脚本中使用密码之前对其进行加密。
推荐阅读
- reactjs - 将泛型传递给 React Typescript 组件
- javascript - 如何在jquery中创建带有数字增量的输入字段
- python - 同一问题的两种算法的时间复杂度
- php - PHP 搜索并仅从 csv 文件返回完全匹配
- python - 在不使用太多内存的情况下将字典列表转换为 pandas DF
- javascript - 未捕获(承诺):错误:无法匹配任何路线(Angular8)
- botframework - 由于 QnAMaker 连接问题,Bot 未响应 Bot Framework Emulator 中的消息
- json - 我需要将邮递员请求的正文与另一个网站的 XHR 进行比较
- javascript - 在 JavaScript 中完成第一个递归分支后返回树
- git - 从本地服务器克隆存储库缺少提交