Automatisation avec Ruby Net:: SSH (Secure Shell)

click fraud protection

SSH (ou "Secure Shell") est un protocole réseau qui vous permet d'échanger des données avec un hôte distant sur un canal crypté. Il est le plus souvent utilisé comme shell interactif avec Linux et d'autres systèmes de type UNIX. Vous pouvez l'utiliser pour vous connecter à un serveur Web et exécuter quelques commandes pour maintenir votre site Web. Il peut également faire d'autres choses, comme transférer des fichiers et transférer des connexions réseau.

Net:: SSH est un moyen pour Rubis pour interagir avec SSH. À l'aide de ce joyau, vous pouvez vous connecter à des hôtes distants, exécuter des commandes, examiner leur sortie, transférer des fichiers, transférer des connexions réseau et faire tout ce que vous feriez normalement avec un client SSH. C'est un outil puissant à avoir si vous interagissez fréquemment avec des systèmes distants Linux ou UNIX.

Installation de Net:: SSH

le Net:: SSH la bibliothèque elle-même est pure Ruby - elle ne nécessite aucune autre gemme et n'a pas besoin de compilateur pour être installée. Cependant, il s'appuie sur la bibliothèque OpenSSL pour effectuer tout le cryptage nécessaire. Pour voir si OpenSSL est installé, exécutez la commande suivante.

instagram viewer

Si la commande Ruby ci-dessus génère une version OpenSSL, elle est installée et tout devrait fonctionner. Le programme d'installation en un clic de Windows pour Ruby comprend OpenSSL, comme le font de nombreuses autres distributions Ruby.

Pour installer le Net:: SSH bibliothèque elle-même, installez le net-ssh gemme.

Utilisation de base

La façon la plus courante d'utiliser Net:: SSH est d'utiliser le Net:: SSH.start méthode. Cette méthode prend le nom d'hôte, le nom d'utilisateur et le mot de passe et retournera un objet représentant la session ou le passera à un bloc s'il en est donné un. Si vous donnezdébut méthode un bloc, la connexion sera fermée à la fin du bloc. Sinon, vous devrez fermer manuellement la connexion lorsque vous en aurez terminé.

L'exemple suivant se connecte à un hôte distant et obtient la sortie du ls (liste des fichiers).

Dans le bloc ci-dessus, le ssh objet fait référence à la connexion ouverte et authentifiée. Avec cet objet, vous pouvez lancer n'importe quel nombre de commandes, lancer des commandes en parallèle, transférer des fichiers, etc. Vous pouvez également remarquer que le mot de passe a été transmis comme argument de hachage. C'est parce que SSH permet une variété de schémas d'authentification, et vous devez lui dire qu'il s'agit d'un mot de passe.

instagram story viewer