Användning av PuTTYs plink-kommando för att automatisera SSH-åtgärder på Windows

Sammanfattning

SSH är ett säkert och bekvämt sätt att automatisera skript på fjärrservrar. På UNIX- och Linux-maskiner är inställningen av SSH nästan trivial, men på Windows är det mer utmanande. PuTTY:s plink”-kommando kan användas för att automatisera SSH-åtgärder på Windows. ”plink” har vissa specifika initialiseringskrav på Windows-maskiner för att kunna användas från DPX-skriptgränssnittet. Den här artikeln behandlar hur man använder Windows-kommandot ”plink”, som ingår i PuTTY:s verktygssvit. Detta är inte avsett att vara en omfattande genomgång av användningen av ”plink”. Den behandlar särskilt hur man aktiverar nödvändiga värdnycklar för användning med DPX-skriptmotorn. ”

Steg för steg

PuTTY är en fritt tillgänglig SSH-klient från tredje part för Windows-plattformar. I skrivande stund finns PuTTY på följande adress: www.chiark.greenend.org.uk/~sgtatham/putty/

Catalogic Software tillhandahåller inte teknisk support för körbara program från tredje part. Användning av tredje parts körbara filer sker på egen risk.

”plink.exe” kan användas i ett batchskript i Windows för att automatisera körning av fjärrskript via SSH. Detta är särskilt användbart för att automatisera NetApp-operationer och utlösa ytterligare skript på UNIX- och Linuxvärdar. Ett typiskt kommando ser ut så här:

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

Ett mer specifikt exempel är:

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

På kompatibla UNIX/Linux-system får det här kommandot den fjärrstyrda maskinen på adressen 192.168.199.10 att omedelbart starta om.

När du för första gången kör plink från Windows-kommandoraden på en ny värd visas ett meddelande som liknar följande:

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)

Detta är en interaktiv prompt som du inte kan komma runt. Om du väljer ”y” lagras en värdnyckel i Windows-registret, och för den här värden ställs inte frågan om nyckelfingeravtryck igen. Om du väljer ”n” lagras nyckeln inte och frågan visas varje gång du försöker ansluta till värddatorn.

”plink” lagrar dessa värddatornycklar i användarens profil i registret HKEY_CURRENT_USER. Detta område i registret är specifikt för den aktuella inloggningen; det finns kvar mellan inloggningssessioner, men dessa värden delas inte med andra användare av systemet.

Det är här problemet finns. Standardkontot som används för DPX är ”Lokalt systemkonto”. Kontrollera denna inställning genom att gå till Windows service manager. I tjänstehanteraren hittar du tjänsten cmagent, högerklickar och väljer egenskaper och granskar sedan fliken ”Logga in”. För att DPX ska kunna använda plink på ett effektivt sätt måste en värdnyckel lagras i registret HKEY_CURRENT_USER för det angivna inloggningskontot för cmagent-tjänsten. Problemet är att ”Local System account” inte har något direkt sätt att logga in i konsolen och enkelt sätta dessa värden.

Två möjligheter finns:

  • Skapa ett administratörskonto som har full tillgång till all hårdvara på den lokala maskinen och till alla programgränssnitt som stöds
  • Använd ”Local System account”

I allmänhet är det enklare att skapa ett administratörskonto som har full tillgång till all hårdvara på den lokala maskinen och till alla programgränssnitt som stöds. Ett administratörskonto för en lokal maskin eller en domänadministratör fungerar vanligtvis, även om vilket konto som helst räcker om det har de nödvändiga behörigheterna för att DPX säkerhetskopiering och återställning ska fungera korrekt. När kontot har skapats gör du följande:

  1. Gå in i Windows service manager och ändra DPX-tjänsterna (särskilt cmagent) så att de använder det nya kontot. Testa ett dataskyddsjobb för att se till att det här kontot fungerar för DPX.
  2. Logga in under det här kontot och öppna ett kommandoshell. För varje värddator som du behöver ansluta till åberopar du ”plink -ssh user@host-name”, och när du blir tillfrågad om nyckelfingeravtrycket svarar du ”y” för att lagra värdet i cacheminnet. Inga andra kommandon behövs; du kan avsluta alla interaktiva skal som anropas.

De nödvändiga värdena lagras i:
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

Lämna ett svar

Din e-postadress kommer inte publiceras.