En tant qu'utilisateur root, vous pouvez utiliser avec succès git pour pousser et tirer sans mot de passe.
Nouveau nom du projet : newstart.
Voici les paramètres pour l'utilisateur root.
su root
ssh-keygen -t rsa -f /root/.ssh/id_rsa.github -P ''
Collez id_rsa.github.pub sur la page Web githhub de la clé ssh.
git config --global user.name "someone"
git config --global user.email "sbd@gmail.com"
git config remote.origin.url git+ssh://git@github.com/someone/newstart.git
ssh -T git@github.com
git clone git+ssh://git@github.com/someone/newstart.git /tmp/newstart
Clonage dans '/tmp/newstart'...
L'utilisateur root peut être utilisé avec succès sans aucun problème.
Configurez maintenant un utilisateur normal debian8
et tous les paramètres seront réinitialisés à l'instant.
su debian8
ssh-keygen -t rsa -f /home/debian8/.ssh/id_rsa.github -P ''
Collez cette clé id_rsa.github.pub dans la clé ssh de la page Web githhub.
git config --global user.name "someone"
git config --global user.email "sbd@gmail.com"
git config remote.origin.url git+ssh://git@github.com/someone/newstart.git
#注意,在普通用户下,无法使用config.
error: could not lock config file .git/config: Permission denied
sudo git config remote.origin.url git+ssh://git@github.com/someone/newstart.git
ssh -T git@github.com
Permission denied (publickey).
我通过-i 参数,可以让这个普通用户连接上github.
ssh -i ./id_rsa.github.pub -vT git@github.com
You've successfully authenticated, but GitHub does not provide shell access.
可惜,连接上没有用,无法clone.
git clone git+ssh://git@github.com/someone/newstart.git /tmp/newstart
Cloning into '/tmp/newstart'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
Comment puis-je modifier mes étapes pour les utilisateurs ordinaires ? Qu’est-ce qui provoque cela ?
Il est recommandé de vérifier votre variable d'environnement HOME. Il se peut que vous l'ayez déjà modifiée, ce qui a empêché git de trouver
.gitconfig
. De plus, vous pouvez vérifier s'il y a.gitconfig
dans votre répertoire personnel. Utiliser dans l'annuaire des utilisateurs :S'il n'y a pas de
.gitconfig
affiché, c'est probablement parce que git ne peut pas trouvergitconfig
dans le répertoire personnel de l'utilisateur actuel.Ou vous pouvez utiliser la commande
locate
pour rechercher.gitconfig
,Si malheureusement vous ne parvenez pas à le trouver à l'aide de la localisation, utilisez
updatedb
pour mettre à jour la base de données de localisation. Si votre disque dur est suffisamment rapide, elle peut être complétée rapidement.Bien sûr, vous pouvez également utiliser la commande
find
, mais la vitesse est plus lente :Une fois que l'opération ci-dessus a obtenu le résultat, vous pouvez vérifier si le chemin du fichier
.gitconfig
est le résultat deecho $HOME
. Sinon, cela signifie que le problème vient bien de votre variable d'environnement $HOME. pour le réinitialiser à votre Le chemin d'accès au répertoire personnel de l'utilisateur actuel.