Πίνακας περιεχομένων:
Εάν είστε τεχνικός επαγγελματίας, αναμφισβήτητα γνωρίζετε για το Secure Shell (SSH) και το χρησιμοποιείτε τακτικά για να συνδεθείτε σε απομακρυσμένα συστήματα. Αν και ένα εξαιρετικό εργαλείο, το SSH υποθέτει ότι έχετε μια αξιόπιστη ενσύρματη σύνδεση. Δεν λειτουργεί πάντα και στις ασύρματες συνδέσεις, οι οποίες μπορεί να είναι αναξιόπιστες. Ένα νέο εργαλείο που έχει αλλάξει είναι το Mosh ή το Mobile Shell, το οποίο επιτρέπει στους χρήστες να συνδέονται σε απομακρυσμένα συστήματα και να παραμένουν συνδεδεμένοι ακόμη και όταν το δίκτυο πέσει κάτω ή αλλάζετε δίκτυα.
Γιατί Μοσχ;
Το Secure Shell είναι απαραίτητο για τους διαχειριστές, τους προγραμματιστές και τους χρήστες ενέργειας που χρειάζεται να συνδεθούν σε διακομιστές, είτε σε όλη την αίθουσα είτε σε ολόκληρη τη χώρα. Είναι μια ασφαλής, κρυπτογραφημένη αντικατάσταση του Telnet. Είναι ένα εξαιρετικό εργαλείο, αλλά σχεδιάστηκε τη δεκαετία του '90, μια εποχή που οι κινητοί υπολογιστές σε Wi-Fi έγιναν κοινό. Η SSH αναλαμβάνει μια αξιόπιστη ενσύρματη σύνδεση, η οποία δεν συμβαίνει πάντα όταν οι χρήστες μετακινούνται σε κινητά. Η συνδεσιμότητα Wi-Fi, όπως πολλοί άνθρωποι έχουν βρει, είναι συχνά πεντανόστιμη και είναι αδύνατο να αλλάξουμε συνδέσεις, για παράδειγμα από Wi-Fi σε LTE, χωρίς να σπάσουμε μια σύνδεση.
Άλλες φορές δεν είναι το σφάλμα της σύνδεσης, αλλά ο χρήστης. Ή, όπως λένε στο IT, είναι ένα PEBKAC (υπάρχει πρόβλημα ανάμεσα στο πληκτρολόγιο και την καρέκλα). Το αγαπημένο μου όλων είναι το κλείσιμο του καπακιού, ξεχνώντας ότι είμαι συνδεδεμένος σε απομακρυσμένο μηχάνημα μέσω SSH. Ανοίγω το καπάκι και πληκτρολογώ στο παράθυρο του τερματικού και δεν συμβαίνει τίποτα. Το μόνο που μπορώ να κάνω είναι να σκοτώσω τη συνεδρία και να συνδεθώ ξανά. Είναι ενοχλητικό, αλλά το έχω κάνει αμέτρητες φορές και είμαι βέβαιος ότι έχετε και εσείς.
Πολλοί άνθρωποι προσπαθούν να μετριάσουν αυτό χρησιμοποιώντας προγράμματα όπως το GNU Screen και το tmux. Αυτοί είναι τερματικοί πολυπλέκτες που όχι μόνο σας δίνουν κάτι σαν περιήγηση με καρτέλες για τη γραμμή εντολών, αλλά μπορούν επίσης να διατηρήσουν την συνεδρία σας σε περίπτωση που η σύνδεσή σας μειωθεί. Απλώς συνδεθείτε ξανά και μπορείτε να σηκώσετε όποτε έχετε σταματήσει. Όσο πιο πρακτικά είναι αυτά τα προγράμματα, τα προβλήματα με την ίδια την SSH παραμένουν.
Ήμουν παραιτημένος στη μοίρα SSH μου, αλλά μια μέρα σκόνταψα σε ένα νέο πρόγραμμα σε ένα διακομιστή κελύφους που κρέμομαι έξω. Mosh είναι μια προσπάθεια να βελτιωθεί η SSH, καθιστώντας το κατάλληλο για χρήση σε φορητούς υπολογιστές. Έχει αναπτυχθεί από μερικούς έξυπους ανθρώπους στο MIT, τους ανθρώπους που μας έφεραν Lisp (οπότε πιθανώς γνωρίζουν καλά όταν βλέπουν ένα). Ο Keith Winstein, ένας από τους κύριους προγραμματιστές, δημιούργησε ένα βίντεο που δείχνει πώς λειτουργεί.
Οι δημιουργοί του Mosh το περιγράφουν ως αντικαταστάτη του SSH που είναι πιο ισχυρό και ευαίσθητο, ειδικά σε Wi-Fi, κυψελοειδείς και υπεραστικές συνδέσεις.
Πως δουλεύει
Ο Mosh χρησιμοποιεί ένα νέο πρωτόκολλο που ονομάζεται πρωτόκολλο κρατικού συγχρονισμού (SSP). Αυτό βασίζεται σε παραδοσιακά πρωτόκολλα απομακρυσμένης σύνδεσης όπως Telnet και SSH. Κάτω από το SSH, ο διακομιστής απλώς στέλνει μερικά byte προς τα κάτω στον πελάτη για να ερμηνευτεί.
Το SSP προσθέτει ένα άλλο στρώμα. Ο διακομιστής και ο πελάτης παρακολουθούν τι έχει αποσταλεί χρησιμοποιώντας αριθμούς ακολουθίας. Εάν ο διακομιστής αποκτήσει έναν αριθμό ακολουθίας που είναι υψηλότερος από αυτόν που είχε αποστείλει προηγουμένως, είναι αρκετά έξυπνος για να καταλάβει ότι ο πελάτης έχει μετακινηθεί σε άλλη σύνδεση. Αυτό σημαίνει ότι είναι εύκολο να περιηγηθείτε από το δίκτυο Wi-Fi στο δίκτυο Wi-Fi ή από ένα δίκτυο Wi-Fi σε ένα δίκτυο κυττάρων ή από ένα δίκτυο Wi-Fi σε μια ενσύρματη σύνδεση - και ούτω καθεξής.
Ένα άλλο ωραίο χαρακτηριστικό γνώρισμα που παρέχει ο Mosh είναι η ηχορύπανση χαρακτήρων σε πραγματικό χρόνο. Συνήθως, αν βρίσκεστε σε SSH, μπορεί να διαπιστώσετε καθυστέρηση μεταξύ της πληκτρολόγησης και της αναμονής των χαρακτήρων σας να εμφανίζονται στην οθόνη, καθώς ο διακομιστής αντανακλά αυτό που πληκτρολογείτε πίσω σε εσάς.
Να πάρει αυτό
Εάν σας ενδιαφέρει, θα είστε ευτυχείς να ξέρετε ότι η εγκατάσταση του Mosh είναι αρκετά εύκολη. Οι περισσότερες μεγάλες διανομές Linux και Unix την έχουν στις αποθήκες τους. Η αρχική σελίδα του Mosh παρουσιάζει παραδείγματα χρησιμοποιώντας το Debian και το Ubuntu, καθώς και το Gentoo, το Arch και το Fedora. Επειδή το Mac OS X βασίζεται σε Unix, οι χρήστες Mac μπορούν επίσης να συμμετάσχουν. Υπάρχει ένα εγγενές πακέτο και οι άνθρωποι που θέλουν να το συντάξουν στο Mac χρησιμοποιώντας το Homebrew και το MacPorts. Εάν το σύστημά σας δεν έχει Mosh ως πακέτο, μπορείτε να το κατεβάσετε και να το συντάξετε μόνοι σας εάν το χρειάζεστε.
Όταν έχετε εγκαταστήσει τον υπολογιστή σας, είστε έτοιμοι να πάρετε Mosh και να συνδεθείτε. Συνδεθείτε ακριβώς όπως κάνετε με SSH. Στην πραγματικότητα, ο Mosh δεν χειρίζεται πραγματικά τα logins? αποδίδει τις πληροφορίες σύνδεσης στο SSH. Αυτό είναι χρήσιμο εάν χρησιμοποιείτε τις λειτουργίες κρυπτογράφησης του δημόσιου κλειδιού SSH για να συνδεθείτε με ασφάλεια χωρίς να χρειάζεται κωδικό πρόσβασης.
Υπάρχει όμως μια αλίευση. Χρειάζεται να συνδεθεί ο διακομιστής Mosh. Ευτυχώς, δεν χρειάζεται να είστε υπερ-χρήστης για να το εγκαταστήσετε. Μπορείτε ακόμη να το βάλετε στον οικείο κατάλογό σας και να το ξεκινήσετε με αυτόν τον τρόπο αν δεν μπορείτε να μιλήσετε με το sysadmin για να το εγκαταστήσετε. Ο Mosh είναι ακόμα νέος, οπότε ίσως κάποια μέρα θα γίνει τόσο πανταχού παρόν σε διακομιστές όσο είναι το SSH.
Ένα άλλο πράγμα: ο Mosh αναμένει ότι το τερματικό σας θα υποστηρίξει το UTF-8. Σχεδόν όλοι οι σύγχρονοι εξομοιωτές τερματικών, αλλά ίσως χρειαστεί να ρυθμίσετε τη μεταβλητή περιβάλλοντος $ LANG πριν ο διακομιστής στο απομακρυσμένο σύστημα αποδεχτεί τη σύνδεση.
Μένοντας ζωντανός
Τώρα που είστε συνδεδεμένοι, μπορείτε να φτάσετε στην εργασία κωδικοποίησης ή επεξεργασίας αρχείων ρυθμίσεων ή διαχείρισης απομακρυσμένων μηχανών, είτε στο σπίτι, στην εργασία, στο τρένο ή σε υψόμετρο πλεύσης.
Μπορείτε να δοκιμάσετε πόσο ισχυρή Mosh είναι αποσυνδέοντας το Wi-Fi σας. Ο Mosh θα εμφανίσει ένα μήνυμα στην κορυφή του τερματικού λέγοντας ότι δεν έχει σύνδεση, μαζί με ένα χρονοδιακόπτη. Επανασυνδέστε και η συνεδρία σας θα πάρει ακριβώς εκεί που έφυγε. Λειτουργεί επίσης εάν κλείσετε το καπάκι του φορητού σας υπολογιστή.
Το Mosh είναι ακόμα καλύτερο όταν συνδυάζεται με έναν τερματικό πολυπλέκτη όπως το GNU Screen ή tmux. Έχουν χρησιμοποιηθεί στο παρελθόν με τον τρόπο που είναι Mosh, για να διατηρήσουν τις SSH συνεδρίες ενεργές πάνω σε αναξιόπιστες συνδέσεις, αλλά εξακολουθούν να προσφέρουν κάποια πλεονεκτήματα όταν χρησιμοποιούνται με Mosh. Για παράδειγμα, μπορείτε να αποσυνδέσετε από ένα τερματικό, να αποσυνδεθείτε και να συνδεθείτε από άλλο μηχάνημα, να καλέσετε τον πολυπλέκτη και να συνεχίσετε. Αυτό είναι πολύ χρήσιμο για μεγάλες εργασίες. Είναι επίσης δημοφιλές για τους άπληστους χρήστες του IRC να παραμένουν συνδεδεμένοι σε ένα διακομιστή κελύφους και να αποσυνδέονται όπως είναι απαραίτητο.
Ώρα για Mosh;
Τώρα που έχετε δοκιμάσει πώς ο Mosh μπορεί να κάνει την εμπειρία απομακρυσμένης σύνδεσης μέσω κινητού τηλεφώνου πολύ καλύτερη, γιατί να μην το δοκιμάσετε μόνοι σας;