Est-il possible de changer temporairement l'utilisateur ssh pour un "maître distant git Push" sans gâcher avec .git/config ou "git remote", ou en utilisant toute l'URL distante?
[root@Host gitrepo]# git Push otheruser@remote master # this does not work, but how great it would be
[root@Host gitrepo]# USER=otheruser git Push remote master # still asks password for root
Avez-vous essayé d'utiliser toute l'URL distante?
git Push ssh://<temp_user>@<Host>/<repo_path> <local_branch>:<remote_branch>
et vous serez invité à fournir le mot de passe
Une fois que vous avez effectué la validation, vous pouvez utiliser la syntaxe suivante:
git Push https://<username>@github.com/<github repository> <local branch name>:<remote branch name>
Votre mot de passe github vous sera demandé pour traiter le Push.
Par exemple, si votre nom d'utilisateur github est "foobar", l'URL de clonage du référentiel est " https://github.com/bar/ish.git ", et que les branches locale et distante sont nommées "nonce". peut utiliser les éléments suivants:
git Push https://[email protected]/bar/ish.git nonce:nonce
J'utilise
git Push https://github.com/${userName}/${repoName}
Il vous demandera d'entrer le nom d'utilisateur et le mot de passe
L’adresse ssh enregistrée auprès de git remote inclut probablement déjà le nom d’utilisateur. Vous devez donc utiliser une URL ssh complète, telle que:
otheruser@remote:arepo
Cela ne fonctionnera pas, car ssh utilisera les clés publique/privée par défaut (actuellement utilisées par le premier utilisateur pour l'authentification).
Vous pouvez enregistrer une nouvelle télécommande dans votre configuration locale:
# use the current ssh address registered for Origin, changing just the user
# but you need a config file
git remote add originOtheruser otheruser:arepo
Vous devez avoir un fichier $HOME/.ssh/config
, afin de définir l'entrée ssh 'otheruser', car ssh doit savoir quelle clé publique/privée il doit utiliser: il ne peut s'agir de celles par défaut ($HOME/.ssh/id_rsa
et $HOME/.ssh/id_rsa.pub
).
Voir par exemple " comment ajouter la clé de déploiement pour 2 référant avec 1 utilisateur sur github "
Host otheruser
HostName remote
User otheruser
IdentityFile ~/.ssh/otheruser
Cela suppose que vous ayez stocké les clés publiques/privées pour otheruser comme:
$HOME/.ssh/otheruser
$HOME/.ssh/otheruser.pub
Maintenant, vous pouvez utiliser cette nouvelle télécommande pour Push:
git Push originOtheruser master
Pour l'utilisateur Windows: Suivez les instructions:
Panneau de configuration >> Compte d'utilisateur >> Gestionnaire d'informations d'identification >> Informations d'identification Windows >> Informations d'identification génériques
Vous pouvez modifier les informations d'identification de git:
cliquez modify >> fournissez uname et mot de passe
Ou vous pouvez supprimer les informations d'identification git . La prochaine fois que vous utiliserez Repo Push, il vous demandera des informations d'identification.