Using PuTTYs plink Command per automatizzare le azioni SSH su Windows

Summary

SSH è un metodo sicuro e conveniente per automatizzare gli script sui server remoti. Su macchine UNIX e Linux, la configurazione di SSH è quasi banale; tuttavia, su Windows è più difficile. Il comando “plink” di PuTTY può essere usato per automatizzare azioni SSH su Windows. “plink” ha alcuni requisiti specifici di inizializzazione su macchine Windows per renderlo utilizzabile dall’interfaccia dello script DPX. Questo articolo copre come usare il comando “plink” di Windows, che è incluso nella suite di utilità PuTTY. Questo non vuole essere una revisione completa dell’uso di “plink”. Copre specificamente come abilitare le chiavi host richieste per l’uso con il motore di script DPX. “

Passo dopo passo

PuTTY è un client SSH di terze parti liberamente disponibile per piattaforme Windows. Al momento di questo scritto, PuTTY è disponibile all’indirizzo: www.chiark.greenend.org.uk/~sgtatham/putty/

Catalogic Software non fornisce supporto tecnico per eseguibili di terze parti. L’uso di eseguibili di terze parti è a tuo rischio.

“plink.exe” può essere usato in uno script batch di Windows per automatizzare l’esecuzione di script remoti attraverso SSH. Questo è particolarmente utile per automatizzare le operazioni di NetApp e attivare ulteriori script su host UNIX e Linux. Un tipico comando assomiglia a questo:

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

Un esempio più specifico è:

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

Sui sistemi UNIX/Linux compatibili, questo comando fa sì che la macchina remota all’indirizzo 192.168.199.10 si riavvii immediatamente.

Quando si esegue plink per la prima volta dalla linea di comando di Windows su un nuovo host, appare un messaggio simile al seguente:

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)

Questo è un prompt interattivo che non si può aggirare. Se si seleziona ‘y’, una chiave host viene memorizzata nel registro di Windows, e per questo host la domanda sull’impronta della chiave non viene più posta. Se selezioni “n”, la chiave non viene memorizzata, e questa domanda appare ogni volta che provi a connetterti a questo host.

“plink” memorizza queste chiavi host nel profilo dell’utente nel registro HKEY_CURRENT_USER. Quest’area del registro è specifica per il login corrente; persiste tra le sessioni di login, ma questi valori non sono condivisi con altri utenti del sistema.

È qui che esiste il problema. L’account predefinito utilizzato per DPX è “Account di sistema locale”. Controlla questa impostazione andando nel gestore dei servizi di Windows. Nel gestore dei servizi, trova il servizio cmagent, clicca con il tasto destro e seleziona proprietà, e poi esamina la scheda “Log On”. Affinché DPX usi plink in modo efficace, una chiave host deve essere memorizzata nella cache all’interno del registro HKEY_CURRENT_USER per l’account di accesso del servizio cmagent indicato. Il problema è che “l’account di sistema locale” non ha un modo diretto per accedere alla console e seminare facilmente questi valori.

Ci sono due possibilità:

  • Creare un account di amministratore che abbia pieno accesso a tutto l’hardware della macchina locale e alle interfacce applicative supportate
  • Utilizzare “l’account di sistema locale”

In generale, il metodo più semplice è creare un account di amministratore che abbia pieno accesso a tutto l’hardware della macchina locale e alle interfacce applicative supportate. Un account di amministratore della macchina locale o un account di amministratore di dominio di solito funziona, anche se qualsiasi account è sufficiente se ha i permessi necessari per le operazioni di backup e ripristino DPX per funzionare correttamente. Una volta creato l’account, fai quanto segue:

  1. Vai nel gestore dei servizi di Windows e cambia i servizi DPX (specialmente cmagent) per usare questo nuovo account. Testate un lavoro di protezione dei dati per assicurarvi che questo account funzioni per DPX.
  2. Accedete con questo account e aprite una shell di comando. Per ogni host a cui avete bisogno di connettervi, invocate “plink -ssh user@host-name”, e quando vi viene richiesto il fingerprint della chiave, rispondete ‘y’ per memorizzare il valore. Non sono necessari altri comandi; si può uscire da qualsiasi shell interattiva invocata.

I valori necessari sono memorizzati nella cache in:
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.