Выполняйте Команды Ssh На Сотнях Серверов С Помощью Go



О чем эта статья?

Выполняйте команды SSH на сотнях серверов с помощью Go

В этой статье мы напишем простую программу на Go (100 строк), которая сможет выполнять команды через SSH на сотнях серверов, делая это достаточно эффективно.

Программа будет реализована с использованием go.crypto/ssh — реализация протокола SSH авторами Go. Более «продвинутая» версия программы, написанная в этой статье, доступна на Github под названием ГоССХа (Иди SSH-агент).



Введение

В компании, в которой я работаю, чуть больше 1 сервера, и была написана библиотека для эффективной работы с нашим количеством серверов по протоколу SSH. libpssh на основе libssh2. Эта библиотека была написана на C с использованием libevent много лет назад и до сих пор хорошо выполняет свою работу, но ее довольно сложно поддерживать.

Также язык Go от Google начал набирать популярность, в том числе и внутри нашей компании, поэтому я решил попробовать написать замену libpssh на Go, и исправить некоторые его недостатки, заодно значительно упростив код и усложнив поддержку.

.

Для начала нам понадобится компилятор языка Go (можно скачать по адресу: golang.org ) и рабочую команду hg для загрузки go.crypto/ssh с помощью «go get».



Начало работы

Давайте создадим файл «main.go» в каком-нибудь каталоге, желательно пустом.

Давайте теперь напишем «каркас» нашей программы, а затем реализуем недостающие функции по всей статье:

   

package main import (

Теги: #Go #ssh #Высокая производительность #программирование #Go
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.