如何为下面的那些连接编写从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
批处理文件中的密码存储。
答案 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(如上所示)。
尽管:
ssh
命令是错误的–使用-L
您需要指定一个附加参数。ssh
。