Το Git push απαιτεί όνομα χρήστη και κωδικό πρόσβασης

Κλωνοποίησα ένα αποθετήριο Git από το λογαριασμό μου στο GitHub στον υπολογιστή μου.

Θέλω να εργάζομαι τόσο με το PC όσο και με το laptop μου, αλλά με έναν λογαριασμό GitHub.

Όταν προσπαθώ να προωθήσω ή να τραβήξω από το GitHub χρησιμοποιώντας τον υπολογιστή μου, απαιτεί όνομα χρήστη και κωδικό πρόσβασης, αλλά όχι όταν χρησιμοποιώ το φορητό υπολογιστή!

Δεν θέλω να πληκτρολογώ το όνομα χρήστη και τον κωδικό πρόσβασής μου κάθε φορά που αλληλεπιδρώ με το origin. Τι μου διαφεύγει εδώ;

Λύση

Ένα συνηθισμένο λάθος είναι η κλωνοποίηση χρησιμοποιώντας την προεπιλεγμένη (HTTPS) αντί για SSH. Μπορείτε να το διορθώσετε αυτό πηγαίνοντας στο αποθετήριό σας, κάνοντας κλικ στο "Clone or download", στη συνέχεια κάνοντας κλικ στο κουμπί "Use SSH" πάνω από το πεδίο URL και ενημερώνοντας τη διεύθυνση URL του απομακρυσμένου αρχικού σας υπολογιστή ως εξής:

git remote set-url origin git@github.com:username/repo.git

Αυτό τεκμηριώνεται στο GitHub: Εναλλαγή απομακρυσμένων διευθύνσεων URL από HTTPS σε SSH.

Σχόλια (27)

Μόλις αντιμετώπισα το ίδιο πρόβλημα και η απλούστερη λύση που βρήκα ήταν να χρησιμοποιήσω τη διεύθυνση URL SSH αντί για HTTPS:

ssh://git@github.com/username/repo.git

Και όχι αυτό:

https://github.com/username/repo.git

Μπορείτε τώρα να επικυρώσετε με μόνο το κλειδί SSH αντί για το username και τον password.

Σχόλια (4)

Βασικά έχετε δύο επιλογές.

Αν χρησιμοποιείτε τον ίδιο χρήστη και στα δύο μηχανήματα, πρέπει να αντιγράψετε το κλειδί .pub στον υπολογιστή σας, ώστε το GitHub να γνωρίζει ότι είστε ο ίδιος χρήστης.

Εάν έχετε δημιουργήσει ένα νέο αρχείο .pub για τον υπολογιστή σας και θέλετε να αντιμετωπίζετε τα μηχανήματα ως διαφορετικούς χρήστες, πρέπει να καταχωρίσετε το νέο αρχείο .pub στον ιστότοπο του GitHub.

Εάν αυτό εξακολουθεί να μην λειτουργεί, μπορεί να οφείλεται στο ότι η ssh δεν έχει ρυθμιστεί σωστά και ότι η ssh αποτυγχάνει να βρει τη θέση των κλειδιών σας. Δοκιμάστε το

ssh -vv username@github.com

Για να λάβετε περισσότερες πληροφορίες γιατί το SSH αποτυγχάνει.

Σχόλια (1)