使用PuTTY远程命令连接服务器,然后连接另一台服务器并运行命令

使用PuTTY远程命令连接服务器,然后连接另一台服务器并运行命令

我有一些关于 PuTTY 使用远程命令 ( -m) 的快速问题。

我有 MachineB,它有一个简单且易于修复的问题。要连接到 MachineB,我必须连接到 ServerA,获取 IP 地址并通过 SSH 连接到 MachineB:

ssh -t -t `cat /Devices/051`

从这里我设置了一系列命令并在最后检查输出:

cd /opt/ProgramA/
/opt/ProgramA/reboot.sh
/opt/ProgramA/Validate.sh

检查完输出后我就大功告成了,可以开始了。

我目前有:

Putty.exe -ssh hostissecret 22 -l root -pw secret -m command.txt

Commands.txt包含:

ssh -t -t `cat /Devices/051
cd /opt/ProgramA/
/opt/ProgramA/reboot.sh
/opt/ProgramA/Validate.sh
read

它确实让我进入 MachineB,但没有在其上运行任何命令。我也尝试过制作command.txt一条长线,但 PuTTY 会在没有足够的时间间隔来完成命令的情况下退出。

答案1

您需要在机器 B 上运行的命令组周围加上引号,以便 ssh 将它们视为单个参数,并使用分号让 B 上的 shell 知道每个命令在何处结束。

ssh -t -t `cat /Devices/051` "cd /opt/ProgramA/; /opt/ProgramA/reboot.sh; /opt/ProgramA/Validate.sh"

相关内容