jak zamontować zaszyfrowany dysk przez ssh, używając hasła zapisanego na komputerze lokalnym

0

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.

użytkownik85116
źródło
Czy hasło służy do połączenia ze zdalnym komputerem, czy też do odszyfrowania partycji?
cpast
Hasło jest potrzebne do zamontowania zaszyfrowanej partycji na zdalnym serwerze. Używam ssh z uwierzytelnianiem bez hasła, a logowanie do hasła wyłączone.
user85116
Czy możesz opublikować swój skrypt, abyśmy mogli zobaczyć używane polecenia? Jak montujesz dysk? Czy to ponad NFS? Jakiego systemu operacyjnego używasz? Unix? Linux? OSX? Windows?
terdon
To nie jest tak naprawdę skrypt (źle to opisałem) ... to po prostu 1-liniowa komenda rsync; Umieściłem go w skrypcie bash, aby nie musiałem pamiętać wszystkich szczegółów polecenia. Przed uruchomieniem tego „skryptu” rsync, ssh w zdalnym urządzeniu i zamontuj dysk (encrfs). Wylogowuję się, uruchamiam skrypt rsync, a po zakończeniu loguję się ponownie i odmontowuję dysk. Obie maszyny działają pod Linuksem.
user85116

Odpowiedzi:

1

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.

jjlin
źródło