Πώς να κάνετε SSH στον επισκέπτη σας στο VirtualBox

How Ssh Into Your Virtualbox Guest



Υπάρχουν στιγμές που θέλετε να έχετε απομακρυσμένη πρόσβαση στο VM σας. Maybeσως, είναι απλώς ένα λειτουργικό σύστημα διακομιστή που λειτουργεί ως VM, όπου δοκιμάζετε τις εφαρμογές σας πριν τις αναπτύξετε.

Έχοντας τη δυνατότητα SSH στο Guest OS σας μπορεί να σας φανεί χρήσιμο όταν δεν θέλετε να χρησιμοποιήσετε το GUI του εικονικού σας μηχανήματος. Απλώς ξεκινήστε τον εικονικό σας υπολογιστή σε λειτουργία χωρίς κεφάλι και SSH μέσα και έξω από αυτό χωρίς να έχετε ανοιχτά πολλά παράθυρα στο τερματικό σας.







Για όσους είναι νέοι στην ιδέα του SSH, θα έχουμε μια σύντομη εισαγωγή στις λειτουργίες του SSH πριν ξεκινήσουμε την εγκατάσταση. Επίσης, θα πρέπει να συζητήσουμε τις σχετικές με το δίκτυο ρυθμίσεις του VM σας για να βεβαιωθείτε ότι έχετε πρόσβαση σε αυτό το VM από οπουδήποτε στο LAN σας.



Ακολουθεί ένα απλοποιημένο μοντέλο για το πώς λειτουργεί το SSH. Δημιουργείτε ένα ζεύγος κλειδιών στον τοπικό υπολογιστή σας. Δημόσιο κλειδί και ιδιωτικό κλειδί. Τα μηνύματα που είναι κρυπτογραφημένα με χρήση δημόσιου κλειδιού μπορούν να αποκρυπτογραφηθούν χρησιμοποιώντας το ιδιωτικό κλειδί και αντίστροφα. Αυτά τα κλειδιά είναι συνήθως αποθηκευμένα στον τοπικό υπολογιστή σας σε μια διαδρομή | _+_ | (ιδιωτικό κλειδί) και | _+_ | (το δημόσιο κλειδί).



Στη συνέχεια, πηγαίνετε στον απομακρυσμένο διακομιστή σας, συνδεθείτε σε μια κονσόλα ως κανονικός ή root χρήστης, ανοίξτε το αρχείο | _+_ | του εν λόγω διακομιστή. Εδώ εισάγετε το περιεχόμενο του δημόσιου κλειδιού σας ως έχει. Μόλις γίνει αυτό, μπορείτε να ssh ως αυτόν τον χρήστη στο διακομιστή του οποίου ο κατάλογος .ssh έχει τα εξουσιοδοτημένα πλήκτρα, από την τοπική σας συσκευή.





ο .NS επέκταση σημαίνει ότι αυτό το αρχείο είναι το δημόσιο κλειδί που μπορείτε να μοιραστείτε με οποιονδήποτε. ο id_rsa μέρος απλώς υποδηλώνει ποια κρυπτογράφηση κρυπτογράφησης χρησιμοποιείται (σε ​​αυτή την περίπτωση συμβαίνει να είναι RSA). Το ιδιωτικό κλειδί μπορεί να προστατευθεί περαιτέρω με μια φράση πρόσβασης που θα πρέπει να εισαγάγετε, κάθε φορά που θέλετε να συνδεθείτε σε έναν απομακρυσμένο διακομιστή χρησιμοποιώντας αυτό το ιδιωτικό κλειδί.

Εάν διαθέτετε Mac, Linux ή οποιοδήποτε άλλο σύστημα παρόμοιο με το UNIX ως τοπικό υπολογιστή, μπορείτε να δημιουργήσετε και να διαχειριστείτε κλειδιά χρησιμοποιώντας τερματικό και μπορείτε επίσης να SSH σε απομακρυσμένους διακομιστές χρησιμοποιώντας το ίδιο τερματικό. Για χρήστες Windows, θα πρότεινα τη χρήση Στόκος ή Git Bash το τελευταίο είναι προσωπική μου προτίμηση. Οι εντολές είναι σχεδόν ίδιες όταν έχετε έναν πελάτη SSH.



Ρύθμιση κλειδιών SSH

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

Στο δικό σας τοπικό μηχάνημα , ανοίξτε το τερματικό και εισαγάγετε την εντολή:

$ssh-keygen

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

Βεβαιωθείτε ότι τα κλειδιά έχουν δημιουργηθεί ελέγχοντας τα περιεχόμενά του ~/.ssh ντοσιέ.

$ls -στο~/.ssh

Εάν δείτε αρχεία που ταιριάζουν με τις προεπιλεγμένες τιμές που εμφανίζονται στο ssh-keygen άμεση τότε όλα έχουν λειτουργήσει καλά.

Τώρα ανοίξτε μια κονσόλα στο δικό σας Εικονική μηχανή Το Αρχικά ελέγξτε εάν ο VM σας διαθέτει διακομιστή SSH ή όχι.

$κατάσταση sshd υπηρεσίας

Εάν δεν είναι εγκατεστημένο, χρησιμοποιήστε τον διαχειριστή πακέτων για αναζήτηση και εγκατάσταση διακομιστή OpenSSH. Μόλις γίνει αυτό, βεβαιωθείτε ότι το τείχος προστασίας του VM σας είναι ανοιχτό στη θύρα 22. Για παράδειγμα, εάν χρησιμοποιείτε το Ubuntu ως VM, το προεπιλεγμένο τείχος προστασίας ufw θα πρέπει είτε να απενεργοποιηθεί είτε να επιτρέψει συνδέσεις θύρας 22 όπως παρακάτω:

$sudoufw κατάσταση

Εάν δεν είναι ανοιχτό στη θύρα 22, χρησιμοποιήστε την ακόλουθη εντολή:

$sudoufw επιτρέψτεssh

Στη συνέχεια ανοίξτε το αρχείο ~/.ssh/εξουσιοδοτημένα κλειδιά στο VM σας, χρησιμοποιώντας τον αγαπημένο σας επεξεργαστή κειμένου. Mayσως θελήσετε να ενεργοποιήσετε το πρόχειρο φιλοξενίας σε επισκέπτη ή διπλής κατεύθυνσης για αυτό το επόμενο βήμα.

Μέσα σε αυτό το αρχείο (στο κάτω μέρος του αρχείου, εάν δεν είναι άδειο) επικολλήστε τα περιεχόμενά σας δημόσιο κλειδί. Το τελευταίο μέρος όπου αναφέρεται το όνομά σας και ο τοπικός κεντρικός υπολογιστής όπου δημιουργήθηκαν τα κλειδιά δεν είναι τόσο σημαντικό όσο το υπόλοιπο της συμβολοσειράς.

(Προαιρετικό) Μη χρήση κλειδιών SSH

Εάν εμπιστεύεστε το τοπικό σας δίκτυο, τότε μπορείτε να χρησιμοποιήσετε την λιγότερο ασφαλή μέθοδο χρήσης του κωδικού πρόσβασης UNIX, για να μπείτε στο VM σας. Ανοίξτε το αρχείο /etc/ssh/sshd_config στο VM και αντικαταστήστε τη γραμμή:

#PasswordAuthentication αρ

Προς το

PasswordAuthenticationΝαί

Μόλις γίνει αυτό, κάντε επανεκκίνηση του διακομιστή SSH.

$επανεκκίνηση sshd υπηρεσίας

Τώρα μπορείτε να χρησιμοποιήσετε τον κανονικό κωδικό πρόσβασης που χρησιμοποιείτε για να συνδεθείτε στο VM σας για να ssh σε αυτόν επίσης.

Η εικονική μηχανή και το δίκτυό σας

Για να μπορέσετε να ssh στο VM σας, τόσο ο τοπικός υπολογιστής σας (αυτός με το ιδιωτικό κλειδί) όσο και ο VM θα πρέπει να βρίσκονται στο ίδιο δίκτυο. Έτσι, μπορείτε να φτάσετε στη διεύθυνση IP αυτού του VM. Θα σας δείξουμε πώς να προσθέσετε το VM στο LAN σας.

Ας εξετάσουμε το παράδειγμα μιας τυπικής ρύθμισης οικιακού δρομολογητή. Ο υπολογιστής σας, μαζί με άλλες συσκευές, είναι συνδεδεμένος στο δρομολογητή του σπιτιού. Αυτός ο δρομολογητής λειτουργεί επίσης ως διακομιστής DHCP, που σημαίνει ότι εκχωρεί σε κάθε συσκευή που είναι συνδεδεμένη με αυτόν, μια μοναδική ιδιωτική διεύθυνση IP. Η επιφάνεια εργασίας σας λαμβάνει IP, το ίδιο και το τηλέφωνό σας και ο φορητός σας υπολογιστής. Μόνο οι συσκευές που είναι συνδεδεμένες σε αυτόν τον δρομολογητή μπορούν να μιλούν μεταξύ τους μέσω των διευθύνσεων IP τους.

Ενεργοποιήστε τη λειτουργία γεφύρωσης δικτύωσης στις ρυθμίσεις του VM σας και η εικονική μηχανή θα εμφανιστεί ως συνδεδεμένη στον οικιακό σας δρομολογητή (ή σε παρόμοιο διακομιστή DHCP) με ιδιωτική IP. Εάν μια δεύτερη συσκευή είναι συνδεδεμένη στο ίδιο δίκτυο (ας πούμε, στον ίδιο οικιακό δρομολογητή), τότε μπορεί να χρησιμοποιηθεί για να ssh στο VM.

Ανοίξτε το VirtualBox Manager, επιλέξτε το VM που στοχεύετε, ανοίξτε το Ρυθμίσεις → Δίκτυο και επιλέξτε Bridge Networking αντί για NAT.

Όπως μπορείτε να δείτε, ο κεντρικός υπολογιστής μου είναι συνδεδεμένος χρησιμοποιώντας το Wireless, έτσι ώστε η σύνδεση να μοιράζεται επίσης με το VM, εάν χρησιμοποιείτε Ethernet, θα εμφανιστεί ένα διαφορετικό όνομα διεπαφής που είναι εντάξει.

Τώρα, το VM μου, το οποίο ονομάζεται ubuntuvm, εμφανίζεται στη ρύθμιση LAN μου ως εξής. Ελέγξτε τις ρυθμίσεις του δρομολογητή σας για να δείτε αν το ίδιο λειτουργεί και για εσάς.

Αφού γνωρίζετε τη διεύθυνση IP του VM σας, μπορείτε να την SSH εισαγάγετε εκτελώντας την εντολή:

$ssh <όνομα χρήστη> @ip.address.of.your.vm

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

Αυτό είναι! Τώρα μπορείτε να ξεκινήσετε τις εικονικές μηχανές σας σε λειτουργία χωρίς κεφάλι και να τις εισάγετε από οπουδήποτε στο σπίτι σας. Ελπίζω να βρήκατε αυτό το σεμινάριο ενδιαφέρον, ενημερώστε μας αν υπάρχει κάποιο θέμα που θα θέλατε να καλύψουμε.