Używanie PuTTYs plink Command to Automate SSH Actions on Windows

Podsumowanie

SSH jest bezpieczną i wygodną metodą automatyzacji skryptów na zdalnych serwerach. Na maszynach UNIX i Linux konfiguracja SSH jest prawie trywialna, jednak na Windows jest to bardziej wymagające. Polecenie „plink” z PuTTY może być użyte do zautomatyzowania działań SSH w Windows. Polecenie „plink” ma pewne specyficzne wymagania dotyczące inicjalizacji na maszynach Windows, aby można je było używać z interfejsu skryptów DPX. Ten artykuł opisuje jak używać polecenia „plink” w systemie Windows, które jest zawarte w pakiecie narzędzi PuTTY. Nie jest to wyczerpujący przegląd użycia „plink”. Obejmuje on w szczególności sposób włączenia wymaganych kluczy hosta do użycia z silnikiem skryptowym DPX. „

Krok po kroku

PuTTY jest dostępnym za darmo klientem SSH dla platform Windows. W momencie pisania tego tekstu, PuTTY jest dostępny pod adresem: www.chiark.greenend.org.uk/~sgtatham/putty/

Catalogic Software nie zapewnia wsparcia technicznego dla programów wykonywalnych innych firm. Korzystanie z nich odbywa się na własne ryzyko.

„plink.exe” może być użyty w skrypcie wsadowym Windows do zautomatyzowania uruchamiania zdalnych skryptów przez SSH. Jest to szczególnie pomocne przy automatyzacji operacji NetApp i uruchamianiu dodatkowych skryptów na hostach UNIX i Linux. Typowe polecenie wygląda następująco:

plink -ssh -l root -pw "password" host-name command

Szczegółowy przykład:

plink -ssh -l root -pw "password" 192.168.199.10 "reboot"

W kompatybilnych systemach UNIX/Linux polecenie to powoduje, że zdalna maszyna o adresie 192.168.199.10 do natychmiastowego restartu.

Przy pierwszym uruchomieniu plink z linii poleceń Windows na nowym hoście pojawia się komunikat podobny do poniższego:

The server's host key is not cached in the registry. Youhave no guarantee that the server is the computer youthink it is.The server's rsa2 key fingerprint is:ssh-rsa 768 d1:1a:29:c0:6d:71:db:3b:36:7b:c1:01:b5:da:ca:d8If you trust this host, enter "y" to add the key toPuTTY's cache and carry on connecting.If you want to carry on connecting just once, withoutadding the key to the cache, enter "n".If you do not trust this host, press Return to abandon theconnection.Store key in cache? (y/n)

Jest to interaktywna zachęta, której nie można obejść. Jeśli wybierzesz 'y’, klucz hosta zostanie zbuforowany w rejestrze Windows i dla tego hosta pytanie o odcisk palca klucza nie będzie zadawane ponownie. Jeśli wybierzesz 'n’, klucz nie jest buforowany, a to pytanie pojawia się za każdym razem, gdy próbujesz połączyć się z tym hostem.

„plink” buforuje te klucze hosta w profilu użytkownika w rejestrze HKEY_CURRENT_USER. Ten obszar rejestru jest specyficzny dla bieżącego logowania; utrzymuje się pomiędzy sesjami logowania, ale wartości te nie są współdzielone z innymi użytkownikami systemu.

W tym miejscu pojawia się problem. Domyślnym kontem używanym dla DPX jest „Lokalne konto systemowe”. Sprawdź to ustawienie, przechodząc do menedżera usług systemu Windows. W menedżerze usług znajdź usługę cmagent, kliknij prawym przyciskiem myszy i wybierz właściwości, a następnie sprawdź zakładkę „Log On”. Aby DPX mógł efektywnie używać plink, klucz hosta musi być zbuforowany w rejestrze HKEY_CURRENT_USER dla wskazanego konta logowania usługi cmagent. Problem polega na tym, że „konto Local System” nie ma bezpośredniego sposobu na zalogowanie się do konsoli i łatwe posianie tych wartości.

Istnieją dwie możliwości:

  • Utworzenie konta administratora, które ma pełny dostęp do całego sprzętu maszyny lokalnej i obsługiwanych interfejsów aplikacji
  • Użycie „konta Local System”

Zazwyczaj łatwiejszą metodą jest utworzenie konta administratora, które ma pełny dostęp do całego sprzętu maszyny lokalnej i obsługiwanych interfejsów aplikacji. Zazwyczaj jest to konto administratora maszyny lokalnej lub administratora domeny, choć wystarczy dowolne konto z uprawnieniami niezbędnymi do poprawnego działania operacji backupu i przywracania DPX. Po utworzeniu konta należy wykonać następujące czynności:

  1. Wejść do menedżera usług systemu Windows i zmienić usługi DPX (zwłaszcza cmagent), aby korzystały z tego nowego konta. Przetestuj zadanie ochrony danych, aby upewnić się, że to konto działa dla DPX.
  2. Zaloguj się pod tym kontem i uruchom powłokę poleceń. Dla każdego hosta, z którym musisz się połączyć, wywołaj „plink -ssh user@host-name”, a gdy zostaniesz zapytany o odcisk palca klucza, odpowiedz 'y’, aby zapisać wartość w pamięci podręcznej. Żadne inne polecenia nie są potrzebne; możesz opuścić każdą wywołaną powłokę interaktywną.

Potrzebne wartości są buforowane w:
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.