Secure Shell o SSH è un protocollo di rete sicuro che consente l'accesso remoto dei dispositivi in una connessione sicura. SSH è uno dei protocolli di rete più utili e popolari negli ultimi anni.
In questo articolo, discuteremo di come puoi usare andare a lavorare con il protocollo SSH.
Pacchetto Golang SSH
In questo tutorial, useremo il pacchetto Crypto/SSH. Puoi importare il pacchetto come:
Importa "Golang.org/x/cripto/ssh "Cliente SSH
Inizieremo creando un client SSH che prende l'indirizzo di un server SSH remoto e si collega ad esso.
Considera l'esempio del codice come mostrato di seguito:
Pacchetto principaleNell'esempio del codice precedente, iniziamo importando i moduli richiesti. Importiamo Crypto/SSH e Crypto/Knowhosts per connettersi al server SSH e analizzare la chiave host.
Creiamo quindi una nuova chiave host utilizzando i noti host.Nuovo () metodo. La funzione restituisce un callback della chiave host dai file chiave host specificati.
Successivamente, creiamo config per accedere al server. Questa è una struttura che detiene informazioni, come l'utente e il metodo dell'auth.
L'ultimo passaggio è comporre la connessione al server utilizzando SSH.Metodo del dial ().
Crea sessione
Possiamo creare una sessione utilizzando il metodo di notizie. Un codice di esempio del codice è come mostrato di seguito:
sessione, err: = Conn.Newsssion ()Richiedi pty
Considera l'esempio del codice fornito di seguito:
// Configura la modalità terminaleNell'esempio precedente, configuriamo le modalità del terminale. Sebbene sia possibile utilizzare i parametri predefiniti, in questo esempio, impostiamo SSH.Eco valore a 0. Questo impedisce alla shell di echeggiare i comandi a te.
Successivamente, richiediamo una sessione di terminale utilizzando il metodo requestpty (). Questo prende il termine come stringa e l'altezza e la larghezza della sessione del terminale come numeri interi e la modalità di configurazione del terminale.
Esegui comando
È possibile eseguire un singolo comando sul server una volta stabilita una sessione. Per esempio:
var buff byte.RespingenteNell'esempio precedente, utilizziamo la funzione di esecuzione per eseguire un comando sul server.
Un esempio di output è mostrato di seguito:
Conclusione
Questa guida copre i fondamenti del lavoro con il pacchetto SSH nel linguaggio di programmazione Go. Inoltre, è stata discussa la creazione di una sessione utilizzando il metodo di Newsission, richiedendo una sessione di terminale utilizzando il metodo requestPty () e utilizzando il comando di esecuzione. Speriamo che tu abbia trovato questo articolo utile. Dai un'occhiata ad altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.