Archives par mot-clé : git

ssh sudo git … let’s go !

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.

SSH -> SUDO -> GIT