Εξοικονομήστε χρόνο με τη σύνδεση στο GitHub μέσω SSH χρησιμοποιώντας έλεγχο ταυτότητας χωρίς κωδικό πρόσβασης.
Ο έλεγχος ταυτότητας με το GitHub συνήθως περιλαμβάνει τη χρήση ενός διακριτικού πρόσβασης ή ενός κωδικού πρόσβασης. Ωστόσο, αυτές οι μέθοδοι μπορεί να είναι άβολες και ανασφαλείς, ειδικά όταν έχετε πρόσβαση στο GitHub από πολλές συσκευές.
Το GitHub παρέχει την επιλογή χρήσης του Secure Shell (SSH) για έλεγχο ταυτότητας. Το SSH παρουσιάζει ένα ασφαλές πρωτόκολλο δικτύου για απομακρυσμένη πρόσβαση του μηχανήματος. Αυτή η δυνατότητα αποδεικνύεται ιδιαίτερα πολύτιμη σε καταστάσεις που απαιτούν αυτοματισμό ή συχνή απομακρυσμένη πρόσβαση.
Κατανόηση του ελέγχου ταυτότητας SSH
Ο έλεγχος ταυτότητας με SSH περιλαμβάνει τη χρήση του κρυπτογραφικά κλειδιά για να δημιουργήσετε μια ασφαλή σύνδεση (σήραγγα) μεταξύ ενός πελάτη (τοπικό μηχάνημα) και ενός διακομιστή (GitHub).
Όταν χρησιμοποιεί το SSH για το GitHub, ένας χρήστης δημιουργεί ένα ζεύγος κλειδιών SSH—ένα δημόσιο κλειδί και ένα ιδιωτικό κλειδί. Το δημόσιο κλειδί μεταφορτώνεται στον λογαριασμό GitHub του χρήστη, ενώ το ιδιωτικό κλειδί παραμένει αποθηκευμένο με ασφάλεια στον τοπικό υπολογιστή του χρήστη.
Η διαδικασία μπορεί να παρομοιαστεί με την έννοια της κλειδαριάς και του κλειδιού. Το δημόσιο κλειδί (κλείδωμα) προορίζεται να μοιράζεται ανοιχτά και να αποθηκεύεται με ασφάλεια στην πλευρά του διακομιστή. Λειτουργεί ως αντίστοιχο του ιδιωτικού κλειδιού, επιτρέποντας στον διακομιστή να επαληθεύσει την ταυτότητα του τοπικού σας υπολογιστή. Αντίθετα, το ιδιωτικό κλειδί (κλειδί) λειτουργεί ως μοναδικό αναγνωριστικό που είναι αποθηκευμένο αποκλειστικά στον τοπικό σας υπολογιστή, επιτρέποντας τον επιτυχή έλεγχο ταυτότητας με τον διακομιστή.
Κατά τον έλεγχο ταυτότητας με το GitHub, το τοπικό σας μηχάνημα παρουσιάζει το ιδιωτικό του κλειδί ως απόδειξη ταυτότητας. Ο διακομιστής ελέγχει εάν το αντίστοιχο δημόσιο κλειδί που σχετίζεται με τον λογαριασμό σας στο GitHub ταιριάζει με το δεδομένο ιδιωτικό κλειδί. Εάν τα κλειδιά ταιριάζουν, ο διακομιστής παραχωρεί πρόσβαση, καθιερώνοντας ένα κρυπτογραφημένο και ασφαλές σύνδεση για επικοινωνία.
Ρύθμιση SSH για GitHub
Σε αυτήν την ενότητα, θα δείτε πώς να ρυθμίσετε το SSH για έλεγχο ταυτότητας με το GitHub.
1. Δημιουργία ζεύγους κλειδιών SSH
Η διαδικασία δημιουργίας ενός ζεύγους κλειδιών SSH είναι το πρώτο βήμα προς τη χρήση του SSH για έλεγχο ταυτότητας.
- Ανοίξτε το τερματικό σας ή τη γραμμή εντολών.
- Εκτελέστε την ακόλουθη εντολή για να δημιουργήσετε ένα νέο ζεύγος κλειδιών SSH:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
- Θα σας ζητηθεί να εισαγάγετε μια θέση αρχείου για να αποθηκεύσετε το ζεύγος κλειδιών. Τύπος Εισαγω για να αποδεχτείτε την προεπιλεγμένη τοποθεσία (~/.ssh/id_rsa) ή να καθορίσετε μια προσαρμοσμένη τοποθεσία.
> Δημιουργία ζεύγους κλειδιών rsa δημόσιου/ιδιωτικού.
> Εισαγωγή αρχείου σεοι οποίες για να αποθηκεύσετε το κλειδί (/home/vagrant/.ssh/id_rsa): - Στη συνέχεια, θα σας ζητηθεί να εισαγάγετε μια φράση πρόσβασης. Αν και προαιρετικό, η προσθήκη μιας φράσης πρόσβασης χρησιμεύει ως πρόσθετο επίπεδο ασφάλειας. Βεβαιωθείτε ότι θυμάστε τη φράση πρόσβασής σας.
> Εισαγάγετε τη φράση πρόσβασης (κενή Για χωρίς φράση πρόσβασης):
> Εισαγάγετε ξανά την ίδια φράση πρόσβασης: - Μετά τη δημιουργία του ζεύγους κλειδιών, θα πρέπει να δείτε δύο αρχεία στην καθορισμένη θέση. id_rsa (ιδιωτικό κλειδί) και id_rsa.pub (δημόσιο κλειδί).
> Η ταυτότητά σας έχει αποθηκευτεί σε /home/vagrant/.ssh/id_rsa.
> Το δημόσιο κλειδί σας έχει αποθηκευτεί σε /home/vagrant/.ssh/id_rsa.pub. - Μετά την ολοκλήρωση, εμφανίζονται το δακτυλικό αποτύπωμα των πλήκτρων και η εικόνα τυχαίας μάρκας.
- Τέλος, θα χρειαστείτε το περιεχόμενο του δημόσιου κλειδιού για να το προσθέσετε στο GitHub. Εκτελέστε την ακόλουθη εντολή για να λάβετε το περιεχόμενο:
γάτα ~/.ssh/id_rsa.pub
Βεβαιωθείτε ότι έχετε καθορίσει τη διαδρομή (~/.ssh/id_rsa.pub στην περίπτωσή μου) που χρησιμοποιήσατε κατά τη δημιουργία των κλειδιών.
Αντιγράψτε το περιεχόμενο σε μια ασφαλή και προσωρινή τοποθεσία για μελλοντική χρήση.
2. Προσθήκη του δημόσιου κλειδιού στο GitHub
Τώρα που έχετε δημιουργήσει ένα ζεύγος κλειδιών SSH, πρέπει να προσθέσετε το δημόσιο κλειδί στον λογαριασμό σας στο GitHub.
- Συνδεθείτε στον λογαριασμό σας στο GitHub και μεταβείτε στον λογαριασμό σας Ρυθμίσεις.
- Κάντε κλικ στο Κλειδιά SSH και GPG που βρίσκεται στην αριστερή πλαϊνή μπάρα.
- Κάντε κλικ στο Νέο κλειδί SSH.
- Δώστε το κλειδί SSH α Τίτλος.
- Επικολλήστε το περιεχόμενο του δημόσιου κλειδιού στο Κλειδί πεδίο.
- Τέλος, κάντε κλικ στο Προσθήκη κλειδιού SSH για να αποθηκεύσετε το κλειδί SSH στον λογαριασμό σας στο GitHub.
Εξάγατε επιτυχώς το δημόσιο κλειδί στον λογαριασμό σας στο GitHub με αυτά.
3. Διαμόρφωση ενός SSH Agent
Ένας πράκτορας SSH είναι ένα πρόγραμμα που βοηθά στη διαχείριση κλειδιών SSH και παρέχει έναν ασφαλή τρόπο αποθήκευσης και χρήσης τους. Λειτουργεί ως ενδιάμεσος μεταξύ του τοπικού σας υπολογιστή και του απομακρυσμένου διακομιστή κατά τον έλεγχο ταυτότητας SSH. Αυτό σας επιτρέπει να διαχειρίζεστε πολλά κλειδιά SSH για διαφορετικούς λογαριασμούς GitHub.
- Βεβαιωθείτε ότι εκτελείται ο παράγοντας SSH.
$ ισοτιμία"$(ssh-agent -s)"
> Πράκτορας pid 2757 - Προσθέστε το ιδιωτικό κλειδί στον πράκτορα SSH.
$ ssh-add ~/.ssh/id_rsa
> Εισαγάγετε τη φράση πρόσβασης Για /home/vagrant/.ssh/id_rsa:
> Προστέθηκε ταυτότητα: /home/vagrant/.ssh/id_rsa (/home/vagrant/.ssh/id_rsa)
Διαμορφώσατε με επιτυχία έναν πράκτορα SSH για τη διαχείριση των κλειδιών σας.
4. Δοκιμή της σύνδεσης SSH
Τώρα μπορείτε να ελέγξετε για να επαληθεύσετε ότι η σύνδεσή σας SSH έχει ρυθμιστεί σωστά και μπορείτε να πραγματοποιήσετε έλεγχο ταυτότητας στο GitHub χρησιμοποιώντας SSH.
- Εκτελέστε την παρακάτω εντολή για να δοκιμάσετε τη σύνδεση SSH στο GitHub.
Εάν όλα πάνε καλά, θα δείτε μια προειδοποίηση σχετικά με το δακτυλικό αποτύπωμα. Επιβεβαιώστε το δακτυλικό αποτύπωμα και πληκτρολογήστε Ναί να συνεχίσει.ssh -T [email protected]
> Η αυθεντικότητα του οικοδεσπότη 'github.com (140.92.130.4)' μπορώδεν καθιερωθεί.
> Το δακτυλικό αποτύπωμα του κλειδιού ECDSA είναι SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
> Είστε σίγουροι ότι θέλετε να συνεχίσει σύνδεση (ναι/όχι); - Κατά την πληκτρολόγηση Ναί, θα δείτε μια έξοδο παρόμοια με αυτή που ακολουθεί.
> Προειδοποίηση: Προστέθηκε μόνιμα 'github.com, 140.92.130.4' (ECDSA) στη λίστα των γνωστών κεντρικών υπολογιστών.
> Γεια σου princewillingoo! ΕσείςΈγινε επιτυχής έλεγχος ταυτότητας, αλλά το GitHub δεν παρέχει πρόσβαση στο κέλυφος.
Αυτό δείχνει ότι ο έλεγχος ταυτότητας ήταν επιτυχής.
Διαχείριση αποθετηρίων με SSH
Η διαμόρφωση του SSH σάς επιτρέπει να διαχειρίζεστε τα αποθετήρια σας χωρίς να χρειάζεται να ανησυχείτε για τα προβλήματα των κωδικών πρόσβασης και των διακριτικών πρόσβασης.
Ρύθμιση απομακρυσμένης διεύθυνσης URL
git remote σειρά-url προέλευσης [email protected]:/.git
Κλωνοποίηση αποθετηρίου
git κλώνος [email protected]:/.git
Ωθώντας τις αλλαγές σε ένα αποθετήριο
git push origin
Τραβήξτε τις αλλαγές από ένα αποθετήριο
git pull origin
Πλεονεκτήματα του SSH έναντι του ελέγχου ταυτότητας με κωδικό πρόσβασης
Η χρήση του SSH για έλεγχο ταυτότητας προσφέρει αρκετά αξιοσημείωτα πλεονεκτήματα σε σχέση με τις παραδοσιακές μεθόδους ελέγχου ταυτότητας που βασίζονται σε κωδικό πρόσβασης. Αυτό περιλαμβάνει:
- Ο έλεγχος ταυτότητας SSH εξαλείφει την ανάγκη για κωδικούς πρόσβασης, μειώνοντας τον κίνδυνο κλοπής διαπιστευτηρίων.
- Η χρήση κρυπτογραφικών κλειδιών το καθιστά πιο ανοσία επιθέσεις ωμής βίας σε σύγκριση με τους κωδικούς πρόσβασης.
- Εάν το ιδιωτικό σας κλειδί έχει παραβιαστεί, μπορείτε να το ανακαλέσετε και να το αντικαταστήσετε, καθιστώντας το παραβιασμένο κλειδί άχρηστο.
Για αυτόν τον λόγο, ο έλεγχος ταυτότητας SSH τείνει να είναι καλύτερη επιλογή σε σύγκριση με τον έλεγχο ταυτότητας με κωδικό πρόσβασης.
Βέλτιστες πρακτικές και αντιμετώπιση προβλημάτων
Για να διασφαλίσετε μια ομαλή και ασφαλή ρύθμιση του SSH, είναι απαραίτητο να ακολουθείτε τις βέλτιστες πρακτικές και να γνωρίζετε κοινά ζητήματα που μπορεί να προκύψουν και τρόπους επίλυσής τους.
- Να ορίζετε πάντα μια φράση πρόσβασης για να δημιουργήσετε ένα πρόσθετο επίπεδο ασφάλειας.
- Εξασκηθείτε σε συχνή εναλλαγή πλήκτρων και δημιουργία αντιγράφων ασφαλείας.
- Επιβεβαιώστε κάθε βήμα για να αποφύγετε σφάλματα αδειών ή εσφαλμένη διαμόρφωση παράγοντα SSH.
Τηρώντας αυτές τις βέλτιστες πρακτικές, μπορείτε να χρησιμοποιήσετε με σιγουριά τον έλεγχο ταυτότητας SSH για το GitHub.
Η ευελιξία του SSH
Το SSH χρησιμοποιείται ευρέως σε άλλους τομείς για την απομακρυσμένη διαχείριση διακομιστών, μικροελεγκτών και συσκευών δικτύου, καθώς επιτρέπει την ασφαλή πρόσβαση στη διεπαφή γραμμής εντολών (CLI), επιτρέποντας στους χρήστες να εκτελούν διαφορετικές εργασίες, να διαμορφώνουν ρυθμίσεις, να μεταφέρουν αρχεία και να αντιμετωπίζουν προβλήματα θέματα.