6Aug

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

Το

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

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

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

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

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

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

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

Ο διακομιστής μπορεί να είναι διεύθυνση 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 -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/.Ανάλογα με αυτό που κάνω, χρησιμοποιώ αυτή την εξαιρετικά ασφαλή μέθοδο super-paranoid για να βάλω το μυαλό μου άνετα.

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