2016-04-22 150 views
0

我有一個shell腳本,用於啓動For循環,從具有主機名的文本文件中讀取數據,並使用SCP將文件傳輸到每個主機。這非常有用,但處理密碼提示的最佳方式是什麼?我被授予服務器的唯一身份驗證是用戶名和密碼。用於傳輸文件的Shell腳本

截至目前,我不得不輸入我的密碼爲每個服務器。由於服務器數量很少,所以它一直是可執行的,但我希望在未來有更好的解決方案。任何幫助/建議都會很棒。

謝謝!

回答

1

大多數服務器還支持publickey認證。 Generate a keypair,然後將~/.ssh/id_rsa_pub複製到遠程主機的~/.ssh/authorized_keys(如果它已經存在,則附加到它)。通過使用ssh-agent來處理鎖定您的密鑰的keyphrase。

0

對於這種交互式操作,您可以使用Expect腳本。您可以輕鬆地定義遠程呼叫,您希望獲得特定字符串(f.e「username:」),然後發送已知密碼。