Αρχική σελίδα » πως να » Πώς να αντιγράψετε αρχεία από SSH χωρίς να εισάγετε τον κωδικό πρόσβασής σας

    Πώς να αντιγράψετε αρχεία από SSH χωρίς να εισάγετε τον κωδικό πρόσβασής σας

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

    Αυτή η διαδικασία λειτουργεί σε Linux και Mac OS, με την προϋπόθεση ότι έχουν διαμορφωθεί σωστά για πρόσβαση SSH. Εάν χρησιμοποιείτε Windows, μπορείτε να χρησιμοποιήσετε το Cygwin για να πάρετε λειτουργίες όπως το Linux, και με λίγη μικροαλλαγές, το SSH θα τρέξει επίσης.

    Αντιγραφή αρχείων μέσω SSH

    Το ασφαλές αντίγραφο είναι μια πολύ χρήσιμη εντολή και είναι πραγματικά εύκολο στη χρήση. Η βασική μορφή της εντολής είναι η εξής:

    scp [επιλογές] original_file file_file

    Το μεγαλύτερο kicker είναι ο τρόπος μορφοποίησης του απομακρυσμένου μέρους. Όταν απευθύνεστε σε ένα απομακρυσμένο αρχείο, πρέπει να το κάνετε με τον ακόλουθο τρόπο:

    user @ server: διαδρομή / προς / αρχείο

    Ο διακομιστής μπορεί να είναι διεύθυνση URL ή διεύθυνση IP. Αυτό ακολουθείται από ένα παχύ τελεία και μετά από τη διαδρομή προς το συγκεκριμένο αρχείο ή φάκελο. Ας δούμε ένα παράδειγμα.

    scp -P 40050 Επιφάνεια εργασίας / 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 -Pr ...

    Το πιο δύσκολο κομμάτι εδώ είναι ότι η συμπλήρωση καρτελών δεν λειτουργεί πάντα, γι 'αυτό είναι χρήσιμο να έχετε ένα άλλο τερματικό με μια περίοδο σύνδεσης SSH, ώστε να ξέρετε πού να θέσετε τα πράγματα.

    SSH και SCP χωρίς κωδικούς πρόσβασης

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

    Λοιπόν, μπορούμε να φτάσουμε με τη χρήση κωδικών πρόσβασης χρησιμοποιώντας αρχεία κλειδιών. Μπορούμε να έχουμε τον υπολογιστή να δημιουργήσει δύο βασικά αρχεία - ένα κοινό που ανήκει στον απομακρυσμένο διακομιστή και ένα ιδιωτικό που βρίσκεται στον υπολογιστή σας και πρέπει να είναι ασφαλές - και αυτά θα χρησιμοποιηθούν αντί για έναν κωδικό πρόσβασης. Πολύ βολικό, σωστά?

    Στον υπολογιστή σας, πληκτρολογήστε την ακόλουθη εντολή:

    ssh-keygen -t rsa

    Αυτό θα δημιουργήσει τα δύο πλήκτρα και θα τα βάλει σε:

    ~ / .ssh /

    με τα ονόματα "id_rsa" για το ιδιωτικό κλειδί σας και "id_rsa.pub" για το δημόσιο κλειδί σας.

    Αφού εισαγάγετε την εντολή, θα σας ρωτήσω πού να αποθηκεύσετε το κλειδί. Μπορείτε να πατήσετε το Enter για να χρησιμοποιήσετε τις προαναφερόμενες προεπιλογές.

    Στη συνέχεια, θα σας ζητηθεί να εισαγάγετε μια φράση πρόσβασης. Πιέστε Enter για να αφήσετε αυτό το κενό, στη συνέχεια κάντε το ξανά όταν ζητάει επιβεβαίωση. Το επόμενο βήμα είναι να αντιγράψετε το αρχείο δημόσιου κλειδιού στον απομακρυσμένο υπολογιστή σας. Μπορείτε να χρησιμοποιήσετε το scp για να το κάνετε αυτό:

    Ο προορισμός του δημόσιου κλειδιού σας βρίσκεται στον απομακρυσμένο διακομιστή, στο ακόλουθο αρχείο:

    ~ / .ssh / authorized_keys2

    Τα επόμενα δημόσια κλειδιά μπορούν να επισυναφθούν σε αυτό το αρχείο, όπως και το αρχείο ~ / .ssh / known_hosts. Αυτό σημαίνει ότι εάν θέλετε να προσθέσετε ένα άλλο δημόσιο κλειδί για το λογαριασμό σας σε αυτόν τον διακομιστή, θα αντιγράψετε τα περιεχόμενα του δεύτερου αρχείου id_rsa.pub σε μια νέα γραμμή στο υπάρχον αρχείο authorized_keys2.

    Ασφάλεια

    Δεν είναι λιγότερο ασφαλές από τον κωδικό πρόσβασης?

    Με πρακτική έννοια, όχι πραγματικά. Το ιδιωτικό κλειδί που δημιουργείται αποθηκεύεται στον υπολογιστή που χρησιμοποιείτε και ποτέ δεν μεταφέρεται, ούτε καν ελέγχεται. Αυτό το ιδιωτικό κλειδί ΜΟΝΟ ταιριάζει με αυτό το ΕΝΑ δημόσιο κλειδί και η σύνδεση πρέπει να ξεκινήσει από τον υπολογιστή που έχει το ιδιωτικό κλειδί. Το RSA είναι αρκετά ασφαλές και χρησιμοποιεί ένα μήκος 2048 bit από προεπιλογή.

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

    Μπορεί αυτό να είναι πιο ασφαλές?

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

    Μόλις εισαγάγετε τη φράση πρόσβασης μία φορά, δεν θα σας ζητηθεί ξανά μέχρι να κλείσετε την αίτησή σας. Αυτό σημαίνει ότι την πρώτη φορά που θα έχετε SSH / SCP, θα χρειαστεί να πληκτρολογήσετε τον κωδικό πρόσβασής σας, αλλά όλες οι επακόλουθες ενέργειες δεν θα το απαιτήσουν. Αφού αποσυνδεθείτε από τον υπολογιστή σας (όχι από τον απομακρυσμένο υπολογιστή) ή κλείσετε το παράθυρο του τερματικού σας, τότε θα πρέπει να τον εισάγετε ξανά. Με αυτόν τον τρόπο, δεν θυσιάζετε πραγματικά την ασφάλεια, αλλά δεν είστε επίσης παρενοχλημένοι για κωδικούς πρόσβασης συνεχώς.

    Μπορώ να επαναχρησιμοποιήσω το ζεύγος δημόσιου / ιδιωτικού κλειδιού?

    Αυτή είναι μια πραγματικά κακή ιδέα. Εάν κάποιος εντοπίσει τον κωδικό πρόσβασής σας και χρησιμοποιείτε τον ίδιο κωδικό πρόσβασης για όλους τους λογαριασμούς σας, τότε έχουν πλέον πρόσβαση σε όλους αυτούς τους λογαριασμούς. Ομοίως, το αρχείο ιδιωτικού κλειδιού σας είναι επίσης εξαιρετικά μυστικό και σημαντικό. (Για περισσότερες πληροφορίες, ρίξτε μια ματιά στο πώς να ανακτήσετε μετά τον κωδικό σας ηλεκτρονικού ταχυδρομείου συμβιβαστεί)

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

    Είναι επίσης σημαντικό να σημειώσετε ότι όλα τα ιδιωτικά κλειδιά αποθηκεύονται στον ίδιο χώρο: στο ~ / .ssh / στον υπολογιστή σας, μπορείτε να χρησιμοποιήσετε το TrueCrypt για να δημιουργήσετε ένα ασφαλές, κρυπτογραφημένο δοχείο και, στη συνέχεια, να δημιουργήσετε σύμβολα στο ~ / .ssh / Ευρετήριο. Ανάλογα με αυτό που κάνω, χρησιμοποιώ αυτήν την υπερ-παρανοϊκή υπερ-ασφαλή μέθοδο για να βάλω το μυαλό μου άνετα.


    Έχετε χρησιμοποιήσει SCP σε οποιαδήποτε σενάρια; Χρησιμοποιείτε αρχεία κλειδιών αντί κωδικών πρόσβασης; Μοιραστείτε τη δική σας εμπειρία με άλλους αναγνώστες στα σχόλια!