雙 SSH,然後使用批次檔和 Plink 執行 NC

雙 SSH,然後使用批次檔和 Plink 執行 NC

早上好,我需要執行 netcat 命令並獲取輸出以在本機 PC(Windows)上進行闡述。我只需要“連接好/壞”

現在我使用 PuTTY 使用以下步驟

  • 視窗 -> 膩子
  • PuTTY ->「Server1」上的 SSH (Linux Suse)
  • Server1 shell -> 「Server2」上的 SSH (Linux Suse)
  • Server2 外殼 ->nc -zv 10.xx.xx.xx yyyy

我想創建一個簡單的腳本來自動化該過程,我正在嘗試透過批次和 plink 來完成此操作。我可以使用其他軟體或語言,但我並不是真正的專家

我無法在 Linux 伺服器上安裝任何東西,因為它們是即時伺服器,我無法進行太多嘗試,但我必須萬無一失。對於防火牆問題,有必要執行這些步驟,因為伺服器 1 看不到最終伺服器,但可以看到伺服器 2,而伺服器 2 又可以看到最終伺服器

我建構了以下命令,但我不確定它是否有效

plink -ssh %server1% -pw %password% -no-antispoof -proxycmd "ssh %User%@%server2% -pw %password%" -m commands.txt > result.txt 2>&1

答案1

首先,要ssh在 server1 上執行指令 – 連線到 server2 並在那裡執行指令,語法為:

plink -ssh %server1% -pw %password% -no-antispoof "ssh %User%@%server2% nc -zv 10.xx.xx.xx yyyy" > result.txt 2>&1

但您需要將密碼傳遞給ssh.為此,您需要添加-t開關plink以啟用 pty 並將 server2 的密碼作為輸入傳遞給plink

echo %password2%|plink -t ...

請注意,這將在本機的進程清單中顯示您的 server2 的密碼。但由於您已經對 server1 的密碼執行了此操作,因此您可能不介意。雖然後者可以使用-pwfileswitch 來避免。首先,使用其他類型的輸入重定向。

相關內容