Bash

在沒有密碼提示的情況下自動進行 SSH 通信

  • November 11, 2016

我想使用 ssh 將 host1 與 host2 通信,

假設我有 host2 的使用者名/密碼,我想通過 shell 腳本使用 ssh 連接到 host2,(它將使用者名和密碼作為參數)

有人可以幫我寫同樣的shell腳本嗎?

我不認為寫下密碼是個好主意。看看ssh鑰匙。您只需要在其中創建一對公鑰和私鑰host1並在其中複製公鑰host2是有關如何執行此操作的教程。

試試這個吧,你需要安裝expect才能讓它工作#!/bin/bash

HOSTS="VM2 VM3 VM4 VM1"

read -p "Password: " PASSWORD

for HOST in $HOSTS
do
expect -c "
your command 
   expect {
   "*password:*" { send $PASSWORD\r;interact }
   }
   exit
   "
done

引用自:https://unix.stackexchange.com/questions/322516