Automazione con Ruby Net:: SSH (Secure Shell)

click fraud protection

SSH (o "Secure Shell") è un protocollo di rete che consente di scambiare dati con un host remoto su un canale crittografato. È più comunemente usato come shell interattiva con Linux e altri sistemi simili a UNIX. È possibile utilizzarlo per accedere a un server Web ed eseguire alcuni comandi per mantenere il sito Web. Può anche fare altre cose, come trasferire file e inoltrare connessioni di rete.

Net:: SSH è un modo per Rubino per interagire con SSH. Usando questo gioiello, puoi connetterti a host remoti, eseguire comandi, esaminare il loro output, trasferire file, inoltrare connessioni di rete e fare qualsiasi cosa tu faccia normalmente con un client SSH. Questo è uno strumento potente da avere se interagisci frequentemente con sistemi remoti simili a Linux o UNIX.

Installazione di Net:: SSH

Il Net:: SSH la libreria stessa è puro Ruby - non richiede altre gemme e non ha bisogno di un compilatore per l'installazione. Tuttavia, fa affidamento sulla libreria OpenSSL per eseguire tutta la crittografia necessaria. Per vedere se OpenSSL è installato, eseguire il comando seguente.

instagram viewer

Se il comando Ruby sopra mostra una versione OpenSSL, è installato e tutto dovrebbe funzionare. Windows One-Click Installer per Ruby include OpenSSL, così come molte altre distribuzioni di Ruby.

Per installare il Net:: SSH libreria stessa, installa il net-ssh gemma.

Utilizzo di base

Il modo più comune di usare Net:: SSH è usare Net:: SSH.start metodo. Questo metodo accetta il nome host, il nome utente e la password e restituisce un oggetto che rappresenta la sessione o lo passa a un blocco, se presente. Se dai ilinizio metodo un blocco, la connessione verrà chiusa alla fine del blocco. Altrimenti, al termine dovrai chiudere manualmente la connessione.

L'esempio seguente accede a un host remoto e ottiene l'output di ls (elenco file) comando.

All'interno del blocco sopra, il SSH L'oggetto si riferisce alla connessione aperta e autenticata. Con questo oggetto, puoi lanciare qualsiasi numero di comandi, lanciare comandi in parallelo, trasferire file, ecc. Potresti anche notare che la password è stata passata come argomento hash. Questo perché SSH consente una varietà di schemi di autenticazione ed è necessario dire che si tratta di una password.

instagram story viewer