Ssh
遠端執行腳本並通過 ssh 自動登錄在本地使用結果
我想從 ServerA 連接到 ServerB ,並檢查 Oracle Database Status 和 PendingLogs 然後記錄結果,並在 ServerA 上使用結果,並與 serverA 上的結果進行比較並在 serverA 上生成日誌。
我用了
ssh -q root@192.168.11.131 sh -s < /root/script.sh > /root/output.txt
但我仍然需要手動輸入密碼。
- 有沒有辦法關閉互動式登錄?
- 如何通過執行腳本文件
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