如何从Windows批处理文件中通过ssh跳越多个主机

时间:2019-07-18 06:47:40

标签: batch-file ssh cmd putty plink

如何为下面的那些连接编写从HostA运行的Windows批处理文件?

SSH(具有本地端口转发):HostA => HostB => HostC。

HostA – HostB必须使用plink.exe(HostA运行Windows)
HostB – HostC必须使用ssh(HostB运行Linux)。

我尝试:

@echo off
chdir /d "C:\"
start plink.exe user_at_B@192.168.IP_of_B -pw userBpasswd
ssh -L user_at_C@192.168.IP_of_C

此批处理脚本不会执行第二个ssh命令(从B到C),它只是打开一个新的CMD窗口,其中什么也没有发生。

请忽略plink批处理文件中的密码存储。

1 个答案:

答案 0 :(得分:2)

您必须通过将plink命令传递到ssh命令行来告诉ssh执行plink

start plink.exe -t user_at_B@192.168.IP_of_B -pw userBpasswd ssh -L user_at_C@192.168.IP_of_C

在Plink命令行上提供命令时,默认情况下Plink不使用终端仿真。要强制终端仿真,请添加-t switch needs(如上所示)。


尽管: