Rudder est un outil que j’utilise depuis quelques années maintenant et qui évolue régulièrement. Voici un exemple de ce qu’il est possible de faire avec pour gérer ses clefs SSH.
Rudder, c’est quoi ?
Rudder est un outil de configuration continue et d’audit. Pour résumer, nous lui donnons des directives (règles, configurations, etc…) et il s’assurent qu’elles soient tout le temps appliquées de la façon dont nous les avons définies.
Gestion des clefs SSH :
Lorsque nous devons gérer un parc de machines Linux et que nous devons y autoriser nos clefs SSH, il est fastidieux d’établir une bonne gestion sans outils. Voici comment utiliser Rudder afin de déployer nos clefs SSH sur un groupe de machines.
Comment utiliser Git sur une machine distante en SSH et via la commande sudo ?
Voici la problématique en détail pour mieux comprendre le principe.
Vous êtes sur votre ordinateur et vous vous connectez sur un serveur distant via SSH. Pas de problème votre clef est utilisée et vous êtes sur le shell. Maintenant vous devez utiliser la commande git dans un dossier qui n’est accessible que par le compte root et c’est là que le problème intervient. En utilisant la commande sudo, vous exécutez la commande en tant que root et non en tant que votre utilisateur … Voici la procédure à suivre pour faire le tout sans vous prendre la tête.
Connexion SSH
La connexion ssh à une machine avec une authentification par clef est très simple (la configuration du serveur n’est pas abordée ici). Vous aurez tout d’abord dû copier votre clef via la commande :
$ ssh-copy-id user@monserveur
Première chose à faire pour vous connecter à votre serveur est d’utiliser l’option -A de d’OpenSSH :
$ ssh -A user@monserveur
Elle permet d’emporter avec vous votre identité.
Commande sudo
Une fois sur votre machine distante, vous utilisez la commande sudo qui permet entre autre de réaliser des commandes qui nécessites d’être root.
Pour lui dire d’importer avec elle votre identité qui est nécessaire pour utiliser git, vous devez utiliser le paramètre -E comme ceci :
$ cd /etc/myrepo
$ sudo -E git pull
Conclusion
Pour résumer, vous vous connectez en ssh en emportant votre identité puis vous vous servez de la commande sudo pour jouer avec git tout en important également votre identité qui vous permet de vous connecter à vos repos git.