我有一个端口转发命令,当我在Windows命令提示符中运行时,会弹出密码输入请求。
我需要一种方法,在批处理文件调用时可以将密码与命令一起发送。
例如:
C:\Users\smith>ssh -f 10.92.21.183 -L 5432:127.0.0.1:5432 -N -l admapp
admapp@10.92.21.183's password:
注意:
我尝试了以下链接,但都不起作用:
我有一个端口转发命令,当我在Windows命令提示符中运行时,会弹出密码输入请求。
我需要一种方法,在批处理文件调用时可以将密码与命令一起发送。
例如:
C:\Users\smith>ssh -f 10.92.21.183 -L 5432:127.0.0.1:5432 -N -l admapp
admapp@10.92.21.183's password:
注意:
我尝试了以下链接,但都不起作用:
我认为仅仅使用 批处理 脚本是不可能的,或者说没有配置 ssh。
因为一旦调用 ssh
命令,该语句(进程)会一直保持,直到提供密码并执行 (ssh
) 命令之后,才能继续调用其他进程。
因此,最快捷和最简单的方法是创建一个脚本,在执行 ssh 命令之前将密码复制到剪贴板中(不安全),当您被要求输入密码时,您就可以准备好通过 Ctrl + v
粘贴它了。
将以下代码保存到名为 bssh.bat 的文件中,并将其放在路径中。将您的密码保存在某个文本文件 password.txt 中,并根据需要在下面的脚本中更改位置 path\to\the\password.txt
,这样当您按下 bssh 时,它应该运行 ssh 命令并将密码复制到剪贴板中:
for /f "tokens=*" %a in ('type "path\to\the\password.txt" ^| clip ^&^& ssh -f 10.92.21.183 -L 5432:127.0.0.1:5432 -N -l admapp') do %a