在后台使用plink转发本地端口,并在本地机器上执行命令

我想写一个批处理脚本,将本地端口转发到服务器dataexchange。 我已经给服务器我的公钥进行身份validation,我想用plink,PuTTY的命令行SSH工具连接。

这是我想要的脚本。

  1. 将本地端口3309转发到dataexchange:3306

  2. 在我的本地机器上运行一个查询dataexchange:3306上的mysql数据库的Java程序dataexchange:3306

  3. closures端口。

我是批量写作的新手,但这是我认为应该工作的。 我不知道如何在我的机器上批量运行Java程序,我不知道如何在运行后closuresplink。

 @ECHO OFF plink -L 3309:dataexchange:3306 -l myUser -N & java -jar myprog.java 

在你的例子中你有一些东西倒退:

  • 您可能希望Java程序连接到本地主机:3306然后转发到远程dataexchange:3306
  • 端口转发语法是: -L 3306:localhost:3306
  • 你需要一个主机连接到你的plink命令。 在这种情况下,可能是myuser @ dataexchange
  • 在Windows中没有任何东西, start命令应该帮助你( Doc )
  • java程序完成后,您可以使用taskkill /im plink.exetaskkill /im plink.exe plink通道。 (但是要注意,杀死所有正在运行的plink进程)
  • java命令可能也是错误的,你不能在没有编译的情况下运行.java文件。 (你自己写了这个程序吗?然后先用javac编译它)