Πολλαπλά κλειδιά ssh και διαφορετικοί λογαριασμοί Github

Ένα πρόβλημα που αντιμετώπισα πρόσφατα είχε σχέση με το ότι ο ssh-agent δεν μπορούσε να ξεχωρίσει ποιο ssh κλειδί να στείλει σε ποιο αποθετήριο Github.

Αυτό μπορεί να συμβεί σε διάφορες περιπτώσεις. Η πιο απλή είναι όταν κάποιος έχει περισσότερους από έναν λογαριασμούς στο Github ή ακόμη και πρόσβαση σε αποθετήρια, με διαφορετικά ssh κλειδιά για τον κάθε λογαριασμό και όλα αυτά από τον ίδιο υπολογιστή.

Βρήκα διάφορες λύσεις ψάχνοντας στο διαδίκτυο όπως να ορίσω την sshComand στο αποθετήριο μέσω της git config, να κοιτάξω το url του αποθετηρίου μπας και είναι λάθος και άλλα. Τίποτα δεν δούλεψε όπως δούλεψε ο απλός και αποτελεσματικός τρόπος του alias.

Την επόμενη φορά λοιπόν, που θα αντιμετωπίσω τέτοιο πρόβλημα, να θυμηθώ να κάνω τα εξής:
Αφού έχω τσεκάρει ότι δεν έχω κάποιο commit σε εκρεμμότητα, διαγράφω το “προβληματικό” αποθετήριο από το PC (Local Only).
Κάνω git clone το αποθετήριο, αυτή τη φορά όμως προσθέτοντας μια λέξη δίπλα από το github.com, όπως πχ. git@github.com -blog:NickTux/nicktux.github.io.git

Το alias δεν αλλάζει κάτι στο Online αποθετήριο. Ισχύει μόνο τοπικά, στο PC που γίνεται το cloning.

Ανοίγω το .ssh/config και προσθέτω την κατάλληλη εγγραφή όπως παρακάτω:

# Github for BLOG (nicktux.gr)
Host github.com-blog # αυτό κάνει τη διαφορά
HostName github.com
IdentityFile /home/nicktux/.ssh/id_rsa_blog

Αποθηκεύω και κάνω μια επανεκκίνηση τον ssh-agent

killall ssh-agent
ssh-agent

Έτοιμος!

Αυτό είναι το “μυστικό”, ότι μπορώ να κάνω clone το αποθετήριο με alias. Το οποίο βέβαια, έως τώρα, δεν ήξερα ότι γίνεται.


Until next time … «Keep Your Mind in a Constant State of Openness»

Advertisement

Συμβάλετε κι εσείς με ένα σχόλιο

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση /  Αλλαγή )

Σύνδεση με %s

Ο ιστότοπος χρησιμοποιεί το Akismet για την εξάλειψη των ανεπιθύμητων σχολίων. Μάθετε πως επεξεργάζονται τα δεδομένα των σχολίων σας.