О чем эта статья?
В этой статье мы напишем простую программу на 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» в каком-нибудь каталоге, желательно пустом.Давайте теперь напишем «каркас» нашей программы, а затем реализуем недостающие функции по всей статье:
Теги: #Go #ssh #Высокая производительность #программирование #Gopackage main import (
Вместе с данным постом часто просматривают:
-
Сумма Измерений Индикатора В Rrdtool
19 Oct, 24 -
Софт Со Всего Мира Для Webmoney
19 Oct, 24