使用 Plink 在另一台服务器 (jumphost) 后面的远程服务器上执行命令

Execute commands on remote server behind another server (jumphost) using Plink

我正在尝试使用适用于 PuTTY 的 Power Automate Desktop 进行自动化。我遇到了一个使用 cmd 来使用 plink 命令来执行 运行 命令的解决方案。 我使用了以下步骤:

  1. 我把PuTTY加入了系统变量

  2. 我使用了命令(在cmd中):

    plink -ssh hostname@ipaddress -pw password -no-antispoof -m C:\commands.txt
    
  3. 我编辑了command.txt:

    ssh anotherIP -pw passwordForAnotherIP
    cd /tmp
    cat filename
    

当我在cmd中运行命令时,无法输入第一个服务器中需要访问的其他服务器的密码。显示的错误是

Bad Port 'w'

服务器运行s bash 4.2。如何在 txt 文件命令中输入密码,以便命令行 plink 命令接受密码?

OpenSSH ssh 没有 -pw 开关。参见 Automatically enter SSH password with script

此外,您的 command.txt 无论如何都不会按照您的想法行事。它不会在 ssh 中 运行 cdcat。它会 运行 他们 ssh 之后。所以在 ipaddress.


相反,您可以使用 Plink's -proxycmd:

plink -ssh anotherIP -pw passwordForAnotherIP -no-antispoof -proxycmd "plink -ssh hostname@ipaddress -pw password -nc anotherIP:22" -m C:\commands.txt

commands.txt 仅包含:

cd /tmp
cat filename