Ssh

遠端執行腳本並通過 ssh 自動登錄在本地使用結果

  • November 6, 2019

我想從 ServerA 連接到 ServerB ,並檢查 Oracle Database Status 和 PendingLogs 然後記錄結果,並在 ServerA 上使用結果,並與 serverA 上的結果進行比較並在 serverA 上生成日誌。

我用了ssh -q root@192.168.11.131 sh -s < /root/script.sh > /root/output.txt

但我仍然需要手動輸入密碼。

  1. 有沒有辦法關閉互動式登錄?
  2. 如何通過執行腳本文件spawn ssh

1-有沒有辦法關閉互動式登錄?

是的,使用公鑰認證或sshpass輸入密碼

2-如何通過 spawn ssh 執行腳本文件?

是的,使用expect腳本。如果要在 ( ) 中執行其他腳本awk,則需要轉義特殊字元 ( \$)。

實際上,對於第一個問題,您可能不需要關閉互動式登錄,但正如Jakuje所給出的,您可以使用 sshpass 或我的部落格中描述的公鑰認證。此處提供了關於公鑰身份驗證的另一個很好的參考。sshpass 可以與以下格式一起使用,但最初需要將 sshpass 安裝到您的系統中。

命令格式:

sshpass -f password_file ssh user_login@ip_address_of_the_server

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