Posiadam dwa komputery, jeden lokalny, jeden zdalny. Zdalny komputer też mam pełny dostęp (root), ale tak naprawdę nie znajduje się w fizycznie bezpiecznym miejscu (tj. Ktoś może włamać się do biura i ukraść dyski).
Używam zdalnej maszyny do przechowywania zaszyfrowanych kopii zapasowych ... najpierw podłączam zaszyfrowaną partycję, potem uruchamiam kopię zapasową (rsync), a następnie odmontowuję partycję; w ten sposób mogę być pewny, że jeśli zdalna maszyna zostanie skradziona, moje rzeczy będą nadal bezpieczne.
Jednak ten proces tworzenia kopii zapasowej jest procesem 3-etapowym (podłączanie, rsync, odmontowywanie), chcę go zautomatyzować, aby był to jeden skrypt, który muszę wykonać.
Problem polega na tym, że nie wiem, jak podać hasło (które wpisuję, gdy skrypt wykonuje się na moim komputerze lokalnym) z mojego komputera lokalnego na zdalny serwer, aby mógł on zamontować zaszyfrowaną partycję.
Czy jest jakiś sposób, aby podać hasło do zdalnego serwera, wpisując je podczas wykonywania skryptu lub czytając plik na dysku lokalnym?
W przeciwnym razie, jakieś inne wskazówki lub sugestie, które mogłyby zrobić tę sztuczkę?
Edycja: Powinienem dodać, że kroki montowania i odmontowywania są obecnie uruchamiane na zdalnym serwerze, ale proces rsync działa na moim komputerze lokalnym. Zasadniczo synchronizuję katalog z lokalnego do zdalnego.
Odpowiedzi:
Klasycznym sposobem na to jest narzędzie do automatyzacji, takie jak Expect ; istnieje również podobne narzędzie oparte na języku Python o nazwie pexpect .
Jeśli nie masz doświadczenia z konwencjonalnym programowaniem, istnieje ciekawe narzędzie do automatyzacji wizualnej o nazwie Sikuli, które również powinno działać w tym celu.
źródło