Протокол передачі файлів є старшим за більшість наших читачів, але він все ще діє. 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
команда, описана нижче, для передачі файлів через Інтернет.
Сервер 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 мовою.
Команда для отримання (або “отримання”) файлу є
отримати
. Тому наш користувач видає команду
отримати gc.c
. Вони набирають
отримати
, пробіл, а потім ім'я файлу, який вони хочуть отримати.
Сервер FTP відповідає, передаючи файл на локальний комп'ютер і підтверджуючи, що передача відбулася. Також відображаються розмір файлу та час, необхідний для його передачі.
ls
отримати gc.c
Щоб отримати декілька файлів одночасно, використовуйте
mget
команда (множинне отримання).
mget
команда попросить вас підтвердити, чи потрібно завантажувати кожен файл по черзі. У відповідь натисніть "y" для так і "n" для ні.
Це було б нудно для великої кількості файлів. Через це колекції пов’язаних файлів зазвичай зберігаються на ftp-сайтах як окремі tar.gz або tar.bz2 .
ПОВ'ЯЗАНІ: Як витягти файли з файлу .tar.gz або .tar.bz2 на Linux
mget * .c
Завантаження файлів на FTP-сервер
Залежно від дозволів, наданих вашому обліковому запису FTP, ви зможете завантажувати (або «розміщувати») файли на сервері. Щоб завантажити файл, використовуйте
поставити
команди. У нашому прикладі користувач завантажує файл із назвою
Sans.tar.gaj
на FTP-сервер.
поставити Songs.tar.gz
Як ви, мабуть, очікуєте, існує команда перенести на FTP-сервер кілька файлів одночасно. Це називається
mput
(багаторазовий). Так само, як
mget
команда зробила,
mput
попросить підтвердження "y" або "n" для завантаження кожного файлу, по одному.
Той самий аргумент для розміщення наборів файлів в архівах tar застосовується для розміщення файлів, як і для отримання файлів. Наш користувач завантажує кілька файлів “.odt” за допомогою такої команди:
mput * .odt
Створення та зміна каталогів
Якщо ваш обліковий запис користувача на ftp-сервері дозволяє це, ви можете створити каталоги. Команда для цього є
mkdir
. Щоб бути зрозумілим, будь-який каталог, який ви створюєте за допомогою
mkdir
команда буде створена на ftp-сервері, а не на вашому локальному комп'ютері.
Щоб змінити каталоги на ftp-сервері, використовуйте
компакт-диск
команди. Коли ви використовуєте
компакт-диск
команду
ftp>
підказка не зміниться, щоб відображати ваш новий поточний каталог.
pwd
Команда (друк робочого каталогу) покаже вам поточний каталог.
Наш користувач ftp створює каталог під назвою музика, змінюється на цей новий каталог, підтверджує, де вони перебувають, використовуючи
pwd
потім завантажує файл до цього каталогу.
музика mkdir
cd черв'як c
pwd
поставити пісні.tar.gz
Щоб швидко перейти до батьківського каталогу поточного каталогу, використовуйте
cdup
команди.
cdup
Доступ до локального комп’ютера
Щоб змінити каталог на локальному комп'ютері, ви можете використовувати
РК-дисплей
команда в
ftp>
підказка. Однак легко втратити відстеження того, де ви знаходитесь у локальній файловій системі. Більш зручним методом доступу до локальної файлової системи є використання
!
команди.
!
команда відкриває вікно оболонки локального комп'ютера. У цій оболонці ви можете робити все, що можна у стандартному вікні терміналу. Коли ви вводите текст
вихід
вас повертають до
ftp>
підказка.
Наш користувач використав
!
і ввійшов у вікно оболонки на локальному комп'ютері. Вони видали
ls
команда, щоб побачити, які файли присутні в цьому каталозі, а потім набрані
вихід
повернутися до
ftp>
підказка.
!
ls
вихід
Перейменування файлів
Для перейменування файлів на FTP-сервері використовуйте
перейменувати
команди. Тут наш користувач FTP перейменовує файл у
перейменувати
а потім використовує
ls
команда для переліку файлів у каталозі.
перейменувати пісні.tar.gz rock_songs.tar.gz
ls
Видалення файлів
Для видалення файлів на FTP-сервері використовуйте
видалити
команди. Щоб видалити кілька файлів одночасно, використовуйте
мделете
команди. Вам буде запропоновано надати підтвердження "y" або "n" для видалення кожного файлу.
Тут наш користувач FTP перелічив файли, щоб побачити їх імена, а потім обрав один для видалення. Потім вони вирішують видалити їх усіх.
ls
γκ.ο.
μδε зменшення * .ο
Використання команди sftp
Читачі, знайомі з системою IP-адресації, помітять, що 192.168 адреса FTP-сервера, використана у наведених вище прикладах, є внутрішньою IP-адресою, яка також називається приватною IP-адресою. Як ми попереджали на початку цієї статті,
ftp
команда повинна використовуватися лише у внутрішніх мережах.
Якщо ви хочете підключитися до віддаленого або загальнодоступного FTP-сервера, використовуйте
sftp
команди. Наш користувач збирається підключитися до облікового запису SFTP, який називається
демо
на загальнодоступному FTP-сервері, що знаходиться за адресою
test.trebex.net
.
Коли вони підключаються, їм повідомляють, що зв’язок встановлено. Їм також повідомляється, що справжність господаря не може бути перевірена. Це нормально для першого підключення нового хоста. Вони натискають "y", щоб прийняти з'єднання.
Оскільки ім'я облікового запису користувача (
демо
) було передано в командному рядку, вони не запитують ім'я облікового запису користувача. Вони запитують лише пароль. Це вводиться, перевіряється та приймається, і вони представляються з
sftp>
підказка.
sftp [email protected]
Команди FTP, які ми описали вище, будуть працювати однаково в сеансі SFTP, за наступними винятками.
-
Для видалення файлу використовуйте
rm(Використання FTPвидалити) -
Для видалення декількох файлів використовуйте
rm(Використання FTPмделете) -
Для переходу до батьківського каталогу використовуйте
компакт-диск ..(Використання FTPcdup)
Наш користувач використав кілька команд у своєму сеансі SFTP. Вони мають користь
ls
для переліку файлів та
компакт-диск
змінити в каталог pub. Вони використовували
pwd
для друку робочого каталогу.
Є й інші варіанти передачі файлів у світі Linux, зокрема
scp
(
захищена копія
), але тут ми зосередилися на FTP та SFTP. Ці дві команди, які використовуються у відповідних сценаріях, будуть добре обслуговувати вас і ваші потреби у зберіганні та пошуку файлів.