Πώς να χρησιμοποιήσετε την εντολή FTP στο Linux

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

Προειδοποίηση: Μην χρησιμοποιείτε FTP μέσω Διαδικτύου

Ας το ξεκαθαρίσουμε από την αρχή: Το Πρωτόκολλο Μεταφοράς Αρχείων (FTP) χρονολογείται από τις αρχές της δεκαετίας του 1970 και γράφτηκε χωρίς να λαμβάνεται υπόψη η ασφάλεια. Δεν χρησιμοποιεί κρυπτογράφηση για τίποτα. Τα διαπιστευτήρια σύνδεσης, όπως το όνομα χρήστη και ο κωδικός πρόσβασής σας, καθώς και τα δεδομένα που κατεβάζετε ή ανεβάζετε, μεταφέρονται σε καθαρό κείμενο. Οποιοσδήποτε στην πορεία μπορεί να δει τα μυστικά σας. Ωστόσο, το FTP εξακολουθεί να έχει τις χρήσεις του.

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

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

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

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

Η εντολή ftp

Υποθέτοντας ότι έχετε έναν έγκυρο λογαριασμό σε έναν ιστότοπο FTP, μπορείτε να συνδεθείτε σε αυτόν με την ακόλουθη εντολή. Σε όλο αυτό το άρθρο, αντικαταστήστε τη διεύθυνση IP στις εντολές με τη διεύθυνση IP του διακομιστή FTP στον οποίο συνδέεστε.

ftp  192.168.4.25

Προειδοποίηση: Θα πρέπει να χρησιμοποιείτε μόνο την εντολή ftp για να συνδεθείτε σε διακομιστές σε ένα αξιόπιστο τοπικό δίκτυο. Χρησιμοποιήστε την εντολή sftp, που καλύπτεται παρακάτω, για τη μεταφορά αρχείων μέσω Διαδικτύου.

  Πώς να χρησιμοποιήσετε την πράσινη διεύθυνση στο Linux

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

Παρατηρήστε ότι εμφανίζεται η διεύθυνση IP του ιστότοπου στον οποίο συνδέεστε, ακολουθούμενη από το όνομα χρήστη Linux. Εάν το όνομα του λογαριασμού σας στον διακομιστή FTP είναι το ίδιο με το όνομα χρήστη Linux, απλώς πατήστε το πλήκτρο Enter. Αυτό θα χρησιμοποιήσει το όνομα χρήστη Linux ως όνομα λογαριασμού στον διακομιστή FTP. Εάν το όνομα χρήστη Linux και το όνομα λογαριασμού FTP είναι διαφορετικά, πληκτρολογήστε το όνομα χρήστη του λογαριασμού FTP και, στη συνέχεια, πατήστε Enter.

Σύνδεση στον διακομιστή FTP

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

Θα εμφανιστεί η προτροπή ftp>.

Κοίταγμα γύρω και ανάκτηση αρχείων

Αρχικά, πιθανότατα θα θέλετε να λάβετε μια λίστα με τα αρχεία στον διακομιστή FTP. Η εντολή ls κάνει ακριβώς αυτό. Ο χρήστης μας βλέπει ότι το αρχείο gc.c βρίσκεται στον διακομιστή FTP και θέλει να το κατεβάσει στον υπολογιστή του. Ο υπολογιστής του είναι ο «τοπικός υπολογιστής» στη γλώσσα FTP.

Η εντολή για ανάκτηση (ή “get”) ενός αρχείου είναι get. Ο χρήστης μας, λοιπόν, εκδίδει την εντολή get gc.c. Πληκτρολογούν get, ένα κενό και μετά το όνομα του αρχείου που θέλουν να ανακτήσουν.

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

ls
get gc.c

Για να ανακτήσετε πολλά αρχεία ταυτόχρονα, χρησιμοποιήστε την εντολή mget (multiple get). Η εντολή mget θα σας ζητήσει να επιβεβαιώσετε εάν θέλετε να κάνετε λήψη κάθε αρχείου με τη σειρά. Απαντήστε πατώντας «y» για ναι και «n» για όχι.

Αυτό θα ήταν κουραστικό για μεγάλο αριθμό αρχείων. Εξαιτίας αυτού, οι συλλογές σχετικών αρχείων συνήθως αποθηκεύονται σε τοποθεσίες ftp ως μεμονωμένα αρχεία tar.gz ή tar.bz2.

mget *.c

Μεταφόρτωση αρχείων στον διακομιστή FTP

Ανάλογα με τα δικαιώματα που έχουν εκχωρηθεί στον λογαριασμό σας FTP, ενδέχεται να μπορείτε να ανεβάσετε (ή να “βάλετε”) αρχεία στον διακομιστή. Για να ανεβάσετε ένα αρχείο, χρησιμοποιήστε την εντολή put. Στο παράδειγμά μας, ο χρήστης ανεβάζει ένα αρχείο που ονομάζεται Songs.tar.gz στον διακομιστή FTP.

put Songs.tar.gz

Όπως πιθανώς περιμένετε, υπάρχει μια εντολή για να τοποθετήσετε πολλά αρχεία στον διακομιστή FTP ταυτόχρονα. Ονομάζεται mput (πολλαπλά βάλε). Ακριβώς όπως έκανε η εντολή mget, το mput θα ζητήσει επιβεβαίωση “y” ή “n” για τη μεταφόρτωση κάθε αρχείου, ένα προς ένα.

  Τρόπος χρήσης SUID, SGID και Sticky Bits στο Linux

Το ίδιο επιχείρημα για την τοποθέτηση συνόλων αρχείων σε αρχεία tar ισχύει για την τοποθέτηση αρχείων όπως και για τη λήψη αρχείων. Ο χρήστης μας ανεβάζει πολλά αρχεία “.odt” με την ακόλουθη εντολή:

mput *.odt

Δημιουργία και αλλαγή καταλόγων

Εάν ο λογαριασμός χρήστη σας στον διακομιστή ftp το επιτρέπει, ίσως μπορείτε να δημιουργήσετε καταλόγους. Η εντολή για να γίνει αυτό είναι mkdir. Για να είμαστε σαφείς, οποιοσδήποτε κατάλογος δημιουργείτε με την εντολή mkdir θα δημιουργηθεί στον διακομιστή ftp και όχι στον τοπικό σας υπολογιστή.

Για να αλλάξετε καταλόγους στον διακομιστή ftp, χρησιμοποιήστε την εντολή cd. Όταν χρησιμοποιείτε την εντολή cd, η προτροπή ftp> δεν θα αλλάξει για να αντικατοπτρίζει τον νέο σας τρέχοντα κατάλογο. Η εντολή pwd (εκτύπωση καταλόγου εργασίας) θα σας δείξει τον τρέχοντα κατάλογο σας.

Ο χρήστης του ftp δημιουργεί έναν κατάλογο που ονομάζεται μουσική, αλλάζει σε αυτόν τον νέο κατάλογο, επιβεβαιώνει πού βρίσκονται χρησιμοποιώντας την εντολή pwd και στη συνέχεια ανεβάζει ένα αρχείο σε αυτόν τον κατάλογο.

mkdir music
cd music
pwd
put songs.tar.gz

Για να μετακινηθείτε γρήγορα στον γονικό κατάλογο του τρέχοντος καταλόγου χρησιμοποιήστε την εντολή cdup.

cdup

Πρόσβαση στον Τοπικό Υπολογιστή

Για να αλλάξετε τον κατάλογο στον τοπικό υπολογιστή, μπορείτε να χρησιμοποιήσετε την εντολή lcd στη γραμμή εντολών ftp>. Ωστόσο, είναι εύκολο να χάσετε το σημείο που βρίσκεστε στο τοπικό σύστημα αρχείων. Μια πιο βολική μέθοδος πρόσβασης στο τοπικό σύστημα αρχείων είναι να χρησιμοποιήσετε το ! εντολή.

Ο ! εντολή ανοίγει ένα παράθυρο κελύφους στον τοπικό υπολογιστή. Μπορείτε να κάνετε οτιδήποτε σε αυτό το κέλυφος που μπορείτε σε ένα τυπικό παράθυρο τερματικού. Όταν πληκτρολογείτε exit επιστρέφετε στη γραμμή εντολών ftp>.

Ο χρήστης μας έχει χρησιμοποιήσει το ! εντολή και εισήγαγε ένα παράθυρο φλοιού στον τοπικό υπολογιστή. Έχουν εκδώσει μια εντολή ls για να δουν ποια αρχεία υπάρχουν σε αυτόν τον κατάλογο και στη συνέχεια πληκτρολόγησαν exit για να επιστρέψουν στη γραμμή εντολών ftp>.

!
ls
exit

Μετονομασία αρχείων

Για να μετονομάσετε αρχεία στον διακομιστή FTP χρησιμοποιήστε την εντολή μετονομασία. Εδώ ο χρήστης FTP μετονομάζει ένα αρχείο με μετονομασία και στη συνέχεια χρησιμοποιεί την εντολή ls για να παραθέσει τα αρχεία στον κατάλογο.

rename songs.tar.gz rock_songs.tar.gz
ls

Διαγραφή Αρχείων

Για να διαγράψετε αρχεία στον διακομιστή FTP χρησιμοποιήστε την εντολή διαγραφής. Για να διαγράψετε πολλά αρχεία ταυτόχρονα, χρησιμοποιήστε την εντολή mdelete. Θα σας ζητηθεί να δώσετε μια επιβεβαίωση “y” ή “n” για τη διαγραφή κάθε αρχείου.

  Πώς να εγκαταστήσετε το GitCola σε Linux

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

ls
delete gc.o
mdelete *.o

Χρησιμοποιώντας την εντολή sftp

Οι αναγνώστες που είναι εξοικειωμένοι με το σύστημα διευθύνσεων IP θα έχουν παρατηρήσει ότι η διεύθυνση 192.168 του διακομιστή FTP που χρησιμοποιείται στα παραπάνω παραδείγματα είναι μια εσωτερική διεύθυνση IP, που ονομάζεται επίσης ιδιωτική διεύθυνση IP. Όπως προειδοποιήσαμε στην αρχή αυτού του άρθρου, η εντολή ftp θα πρέπει να χρησιμοποιείται μόνο σε εσωτερικά δίκτυα.

Εάν θέλετε να συνδεθείτε σε έναν απομακρυσμένο ή δημόσιο διακομιστή FTP χρησιμοποιήστε την εντολή sftp. Ο χρήστης μας πρόκειται να συνδεθεί σε έναν λογαριασμό SFTP που ονομάζεται επίδειξη στον δημόσια προσβάσιμο διακομιστή FTP που βρίσκεται στη διεύθυνση test.trebex.net.

Όταν συνδεθούν, ενημερώνονται ότι η σύνδεση έχει δημιουργηθεί. Ενημερώνονται επίσης ότι η αυθεντικότητα του host δεν μπορεί να επαληθευτεί. Αυτό είναι φυσιολογικό για την πρώτη σύνδεση ενός νέου κεντρικού υπολογιστή. Πατάνε “y” για να αποδεχτούν τη σύνδεση.

Επειδή το όνομα λογαριασμού χρήστη (demo) μεταβιβάστηκε στη γραμμή εντολών, δεν τους ζητείται το όνομα λογαριασμού χρήστη. Τους ζητείται μόνο ο κωδικός πρόσβασης. Αυτό εισάγεται, επαληθεύεται και γίνεται αποδεκτό και παρουσιάζεται με την προτροπή sftp>.

sftp [email protected]

Οι εντολές FTP που περιγράψαμε παραπάνω θα λειτουργούν ακριβώς το ίδιο σε μια περίοδο λειτουργίας SFTP, με τις ακόλουθες εξαιρέσεις.

Για να διαγράψετε ένα αρχείο χρησιμοποιήστε το rm (το FTP χρησιμοποιεί το delete)
Για να διαγράψετε πολλά αρχεία χρησιμοποιήστε το rm (το FTP χρησιμοποιεί το mdelete)
Για να μετακινηθείτε στον γονικό κατάλογο χρησιμοποιήστε το cd .. (Το FTP χρησιμοποιεί το cdup)

Ο χρήστης μας έχει χρησιμοποιήσει μερικές εντολές στην περίοδο λειτουργίας SFTP. Χρησιμοποιούν ls για τη λίστα των αρχείων και cd για αλλαγή στον κατάλογο pub. Έχουν χρησιμοποιήσει το pwd για να εκτυπώσουν τον κατάλογο εργασίας.

Υπάρχουν και άλλες επιλογές για τη μεταφορά αρχείων στον κόσμο του Linux, κυρίως scp (ασφαλές αντίγραφο), αλλά έχουμε επικεντρωθεί στο FTP και στο SFTP εδώ. Χρησιμοποιούνται στα ισχύοντα σενάρια, αυτές οι δύο εντολές θα εξυπηρετήσουν καλά εσάς και τις ανάγκες αποθήκευσης και ανάκτησης αρχείων σας.