如何在Windows批处理文件中传递密码和ssh命令



我有一个涉水命令端口,当我在Windows命令提示符下运行它时,它会以密码输入请求作为响应。

当从批处理文件调用时,我需要一种发送密码和命令的方法。

例如

C:Userssmith>ssh -f 10.92.21.183 -L 5432:127.0.0.1:5432 -N -l admapp
admapp@10.92.21.183's password:

PS。我尝试了以下链接,但没有工作:

  1. 在windows批处理中自动应答输入提示
  2. 如何在Windows批处理脚本中自动回答提示

我认为这是不可能的只有使用批处理脚本,或者不配置ssh

因为一旦调用ssh命令,该语句(进程(就会一直保留到提供密码为止,并且在执行它(ssh(之前不会允许您调用另一个进程。

因此,以这种方式获取ssh密码的最快、最简单的方法是创建一个脚本,该脚本将事先将密码复制到剪贴板中(不安全(,并执行ssh命令。这样,当提示您输入密码时,您就可以用Ctrl+v粘贴它了。

将下面的代码保存在一个名为bssh.bat的文件中,并将其放在路径中,将您的密码保存在password.txt文本文件中的某个位置,并相应地更改下面脚本中的位置pathtothepassword.txt,因此当您按bssh时,它应该运行ssh命令并将密码复制到剪贴板中:-

for /f "tokens=*" %a in ('type "pathtothepassword.txt" ^| clip ^&^& ssh -f 10.92.21.183 -L 5432:127.0.0.1:5432 -N -l admapp') do %a

最新更新