Το SSH είναι ένας σωσίβιος στόχος όταν πρέπει να διαχειριστείτε από απόσταση έναν υπολογιστή, αλλά ξέρατε ότι μπορείτε επίσης να ανεβάσετε και να κατεβάσετε αρχεία; Χρησιμοποιώντας τα κλειδιά SSH, μπορείτε να παραλείψετε την εισαγωγή κωδικών πρόσβασης και να το χρησιμοποιήσετε για σενάρια!
Αυτή η διαδικασία λειτουργεί σε Linux και Mac OS, υπό την προϋπόθεση ότι έχουν ρυθμιστεί σωστά για πρόσβαση SSH. Εάν χρησιμοποιείτε Windows, μπορείτε χρησιμοποιήστε το Cygwin για να αποκτήσετε λειτουργικότητα που μοιάζει με Linux , και με λίγη αλλαγή Το SSH θα τρέξει επίσης .
Αντιγραφή αρχείων μέσω SSH
Το ασφαλές αντίγραφο είναι μια πολύ χρήσιμη εντολή και είναι πολύ εύκολο στη χρήση. Η βασική μορφή της εντολής έχει ως εξής:
scp [options] original_file destination_file
Το μεγαλύτερο kicker είναι πώς να μορφοποιήσετε το απομακρυσμένο μέρος. Όταν απευθύνεστε σε ένα απομακρυσμένο αρχείο, πρέπει να το κάνετε με τον ακόλουθο τρόπο:
user @ server: διαδρομή / προς / αρχείο
Ο διακομιστής μπορεί να είναι μια διεύθυνση URL ή μια διεύθυνση IP. Αυτό ακολουθείται από άνω και κάτω τελεία και μετά τη διαδρομή προς το εν λόγω αρχείο ή φάκελο. Ας δούμε ένα παράδειγμα.
scp –P 40050 Desktop/url.txt [email protected]:~/Desktop/url.txt
Αυτή η εντολή διαθέτει τη σημαία [-P] (σημειώστε ότι είναι κεφαλαίο P). Αυτό μου επιτρέπει να καθορίσω έναν αριθμό θύρας αντί για το προεπιλεγμένο 22. Αυτό είναι απαραίτητο για μένα λόγω του τρόπου με τον οποίο έχω διαμορφώσει το σύστημά μου.
Στη συνέχεια, το αρχικό μου αρχείο είναι "url.txt" που βρίσκεται μέσα σε έναν κατάλογο που ονομάζεται "Desktop". Το αρχείο προορισμού είναι στο "~ / Desktop / url.txt" που είναι το ίδιο με το "/user/yatri/Desktop/url.txt". Αυτή η εντολή εκτελείται από τον χρήστη "yatri" στον απομακρυσμένο υπολογιστή "192.168.1.50".
Τι πρέπει να κάνετε το αντίθετο; Μπορείτε να αντιγράψετε αρχεία από έναν απομακρυσμένο διακομιστή με παρόμοιο τρόπο.
Εδώ, αντιγράψαμε ένα αρχείο από το φάκελο "~ / Desktop /" του απομακρυσμένου υπολογιστή στον φάκελο "Desktop" του υπολογιστή μου.
Για να αντιγράψετε ολόκληρους καταλόγους, θα πρέπει να χρησιμοποιήσετε τη σημαία [-r] (σημειώστε ότι είναι πεζά r).
Μπορείτε επίσης να συνδυάσετε σημαίες. Αντί
scp –P –r…
Μπορείτε απλά να το κάνετε
SCP - Αλλά…
Το πιο δύσκολο μέρος εδώ είναι ότι η ολοκλήρωση της καρτέλας δεν λειτουργεί πάντα, επομένως είναι χρήσιμο να εκτελείται ένα άλλο τερματικό με μια περίοδο λειτουργίας SSH, ώστε να ξέρετε πού να βάλετε τα πράγματα.
SSH και SCP χωρίς κωδικούς πρόσβασης
Το ασφαλές αντίγραφο είναι υπέροχο. Μπορείτε να το βάλετε σε σενάρια και να το κάνετε αντίγραφα ασφαλείας σε απομακρυσμένους υπολογιστές. Το πρόβλημα είναι ότι μπορεί να μην είστε πάντα κοντά για να εισαγάγετε τον κωδικό πρόσβασης. Και, ας είμαστε ειλικρινείς, είναι ένας πολύ μεγάλος πόνος να βάλετε τον κωδικό πρόσβασής σας σε έναν απομακρυσμένο υπολογιστή στον οποίο προφανώς έχετε πρόσβαση σε όλη την ώρα.
Λοιπόν, μπορούμε να περάσουμε χρησιμοποιώντας κωδικούς πρόσβασης χρησιμοποιώντας βασικά αρχεία Μπορούμε να έχουμε τον υπολογιστή να δημιουργήσει δύο βασικά αρχεία - ένα κοινό που ανήκει στον απομακρυσμένο διακομιστή και ένα ιδιωτικό που βρίσκεται στον υπολογιστή σας και πρέπει να είναι ασφαλές - και αυτά θα χρησιμοποιηθούν αντί για κωδικό πρόσβασης. Πολύ βολικό, σωστά;
Στον υπολογιστή σας, εισαγάγετε την ακόλουθη εντολή:
ssh-keygen –t rsa
Αυτό θα δημιουργήσει τα δύο κλειδιά και θα τα τοποθετήσει:
~ / .ssh /
με τα ονόματα "id_rsa" για το ιδιωτικό κλειδί σας και "id_rsa.pub" για το δημόσιο κλειδί σας.
Αφού εισαγάγετε την εντολή, θα σας ζητηθεί πού να αποθηκεύσετε το κλειδί. Μπορείτε να πατήσετε Enter για να χρησιμοποιήσετε τις προαναφερόμενες προεπιλογές.
Στη συνέχεια, θα σας ζητηθεί να εισαγάγετε μια φράση πρόσβασης. Πατήστε Enter για να το αφήσετε κενό και, στη συνέχεια, κάντε το ξανά όταν ζητήσει επιβεβαίωση. Το επόμενο βήμα είναι να αντιγράψετε το αρχείο δημόσιου κλειδιού στον απομακρυσμένο υπολογιστή σας. Μπορείτε να χρησιμοποιήσετε το scp για να το κάνετε αυτό:
Ο προορισμός για το δημόσιο κλειδί σας βρίσκεται στον απομακρυσμένο διακομιστή, στο ακόλουθο αρχείο:
~ / .ssh / εξουσιοδοτημένα_κλειδιά2
Τα επόμενα δημόσια κλειδιά μπορούν να προσαρτηθούν σε αυτό το αρχείο, όπως το αρχείο ~ / .ssh / known_hosts. Αυτό σημαίνει ότι εάν θέλετε να προσθέσετε ένα άλλο δημόσιο κλειδί για τον λογαριασμό σας σε αυτόν τον διακομιστή, θα αντιγράψετε τα περιεχόμενα του δεύτερου αρχείου id_rsa.pub σε μια νέα γραμμή στο υπάρχον αρχείο εξουσιοδοτημένου_ κλειδιού2.
Ζητήματα ασφάλειας
Δεν είναι λιγότερο ασφαλές από έναν κωδικό πρόσβασης;
Στην πράξη, όχι στην πραγματικότητα. Το ιδιωτικό κλειδί που δημιουργείται αποθηκεύεται στον υπολογιστή που χρησιμοποιείτε και δεν μεταφέρεται ποτέ, ούτε καν για επαλήθευση. Αυτό το ιδιωτικό κλειδί ΜΟΝΟ ταιριάζει με αυτό το ΕΝΑ δημόσιο κλειδί και η σύνδεση πρέπει να ξεκινήσει από τον υπολογιστή που διαθέτει το ιδιωτικό κλειδί. Το RSA είναι αρκετά ασφαλές και χρησιμοποιεί από προεπιλογή ένα μήκος 2048 bit.
Είναι στην πραγματικότητα αρκετά παρόμοιο θεωρητικά με τη χρήση του κωδικού πρόσβασής σας. Εάν κάποιος γνωρίζει τον κωδικό πρόσβασής σας, η ασφάλειά σας βγαίνει έξω από το παράθυρο. Εάν κάποιος έχει το αρχείο ιδιωτικού κλειδιού σας, τότε η ασφάλεια χάνεται σε οποιονδήποτε υπολογιστή έχει το αντίστοιχο ηβικό κλειδί, αλλά χρειάζεται πρόσβαση στον υπολογιστή σας για να το αποκτήσει.
Μπορεί αυτό να είναι πιο ασφαλές;
Μπορείτε να συνδυάσετε έναν κωδικό πρόσβασης με βασικά αρχεία. Ακολουθήστε τα παραπάνω βήματα, αλλά εισαγάγετε μια ισχυρή φράση πρόσβασης. Τώρα, όταν συνδέεστε μέσω SSH ή χρησιμοποιείτε SCP, θα χρειαστείτε το κατάλληλο αρχείο ιδιωτικού κλειδιού καθώς τη σωστή φράση πρόσβασης.
Μόλις εισαγάγετε μια φράση πρόσβασης μία φορά, δεν θα σας ζητηθεί ξανά έως ότου κλείσετε τη συνεδρία σας. Αυτό σημαίνει ότι την πρώτη φορά που θα SSH / SCP, θα πρέπει να εισαγάγετε τον κωδικό πρόσβασής σας, αλλά όλες οι επόμενες ενέργειες δεν θα απαιτούν. Μόλις αποσυνδεθείτε από τον υπολογιστή σας (όχι από το απομακρυσμένο) ή κλείσετε το παράθυρο του τερματικού σας, τότε θα πρέπει να τον εισαγάγετε ξανά. Με αυτόν τον τρόπο, δεν θυσιάζετε πραγματικά την ασφάλεια, αλλά επίσης δεν παρενοχλείτε για κωδικούς πρόσβασης όλη την ώρα.
Μπορώ να χρησιμοποιήσω ξανά το ζεύγος δημόσιου / ιδιωτικού κλειδιού;
Αυτή είναι μια πολύ κακή ιδέα. Εάν κάποιος εντοπίσει τον κωδικό πρόσβασής σας και χρησιμοποιείτε τον ίδιο κωδικό πρόσβασης για όλους τους λογαριασμούς σας, τότε έχει πλέον πρόσβαση σε όλους αυτούς τους λογαριασμούς. Ομοίως, το αρχείο ιδιωτικού κλειδιού σας είναι επίσης εξαιρετικά μυστικό και σημαντικό. (Για περισσότερες πληροφορίες, ρίξτε μια ματιά Τρόπος ανάκτησης μετά από συμβιβασμό του κωδικού πρόσβασης ηλεκτρονικού ταχυδρομείου )
Είναι καλύτερο να δημιουργήσετε νέα ζεύγη κλειδιών για κάθε υπολογιστή και λογαριασμό που θέλετε να συνδέσετε. Με αυτόν τον τρόπο, εάν κάποιο από τα ιδιωτικά σας κλειδιά πιάσει κάπως, τότε θα θέσετε σε κίνδυνο έναν λογαριασμό σε έναν απομακρυσμένο υπολογιστή.
Είναι επίσης πολύ σημαντικό να σημειωθεί ότι όλα τα ιδιωτικά κλειδιά σας είναι αποθηκευμένα στο ίδιο μέρος: στο ~ / .ssh / στον υπολογιστή σας, μπορείτε να χρησιμοποιήστε το TrueCrypt για να δημιουργήσετε ένα ασφαλές κρυπτογραφημένο κοντέινερ δημιουργήστε symlinks στον κατάλογο ~ / .ssh /. Ανάλογα με το τι κάνω, το χρησιμοποιώ εξαιρετικά παρανοϊκός εξαιρετικά ασφαλής μέθοδος για να χαλαρώσω το μυαλό μου.
Έχετε χρησιμοποιήσει το SCP σε κάποια σενάρια; Χρησιμοποιείτε βασικά αρχεία αντί για κωδικούς πρόσβασης; Μοιραστείτε τη δική σας εμπειρία με άλλους αναγνώστες στα σχόλια!