Автоматизация с помощью Ruby Net:: SSH (Secure Shell)

SSH (или «Secure Shell») - это сетевой протокол, который позволяет обмениваться данными с удаленным хостом по зашифрованному каналу. Чаще всего он используется как интерактивная оболочка с Linux и другими UNIX-подобными системами. Вы можете использовать его для входа на веб-сервер и выполнить несколько команд для поддержки вашего сайта. Однако он также может выполнять другие функции, такие как передача файлов и пересылка сетевых подключений.

Net:: SSH это способ для Рубин взаимодействовать с SSH. Используя этот гем, вы можете подключаться к удаленным хостам, запускать команды, проверять их вывод, передавать файлы, пересылать сетевые соединения и делать все, что вы обычно делаете с SSH-клиентом. Это мощный инструмент, если вы часто взаимодействуете с удаленными Linux или UNIX-подобными системами.

Установка Net:: SSH

Net:: SSH Сама библиотека - чистый Ruby - она ​​не требует других гемов и не требует компилятора для установки. Тем не менее, он использует библиотеку OpenSSL для выполнения всего необходимого шифрования. Чтобы проверить, установлен ли OpenSSL, выполните следующую команду.

instagram viewer

Если вышеприведенная команда Ruby выводит версию OpenSSL, она установлена ​​и все должно работать. Установщик Windows One-Click для Ruby включает OpenSSL, как и многие другие дистрибутивы Ruby.

Чтобы установить Net:: SSH сама библиотека, установите нетто-SSH драгоценный камень.

Основное использование

Наиболее распространенным способом использования Net:: SSH является использование Net:: SSH.start метод. Этот метод принимает имя хоста, имя пользователя и пароль и либо возвращает объект, представляющий сеанс, либо передает его в блок, если таковой имеется. Если вы даетеНачало Метод блока, соединение будет закрыто в конце блока. В противном случае вам придется вручную закрыть соединение, когда вы закончите с ним.

В следующем примере выполняется вход на удаленный хост и выводится Ls (список файлов) команда.

В блоке выше, SSH Объект относится к открытому и аутентифицированному соединению. С помощью этого объекта вы можете запускать любое количество команд, запускать команды параллельно, передавать файлы и т. Д. Вы также можете заметить, что пароль был передан в качестве хеш-аргумента. Это связано с тем, что SSH допускает различные схемы аутентификации, и вы должны сказать, что это пароль.

instagram story viewer