Блог компанії 3v-Hosting
Передача файлів за допомогою SSH в Linux
4 хв.
При постійній роботі з Linux-серверами часто виникає необхідність передати файли або папки з одного сервера на інший і найпростішим способом для цього є передача за допомогою SSH. Цим простим способом передачі файлів повинен мати будь-який системний адміністратор, що поважає себе, щоб при необхідності дуже швидко і без додаткових налаштувань передати необхідні файли з сервера на сервер.
Але, не дивлячись на свою простоту, цей інструмент є дуже потужним, що дозволяє використовувати різні параметри при передачі.
Що таке SSH
Так як в даному способі для передачі файлів ми будемо використовувати SSH, то давайне трохи повторимо, що це таке. Отже, SSH – це безпечний та зашифрований протокол, призначений для безпечної передачі даних. Що стосується передачі файлів, SSH дозволяє користувачам безпечно переміщати файли між локальними та віддаленими серверами. Цей процес не тільки безпечний, а й ефективний, що робить його кращим вибором для багатьох професіоналів хостингу.
Основною командою для підключення до віддаленого сервера SSH є команда:
ssh username@your_server_ip
Замініть "username" на ім'я користувача вашого сервера, а "your_server_ip" - на фактичну IP-адресу вашого сервера. Тепер перейдемо безпосередньо до передачі файлів.
Основні команди передачі файлів SSH
Вивантаження файлів (з локального комп'ютера на віддалений сервер)
Щоб завантажити файл з локального комп'ютера на віддалений сервер, використовуйте команду scp у такому вигляді, щоб першим аргументом безпосередньо після команди scp знаходився шлях до локального файлу, а другим - шлях до директорії на віддаленому сервері, куди Ви хочете завантажити файл:
scp path/to/local/file username@your_server_ip:/path/to/remote/directory
Замініть "path/to/local/file" файлом на вашому локальному комп'ютері, а "path/to/remote/directory" - бажаним каталогом на віддаленому сервері.
Зверніть увагу на шлях до віддаленої директорії. Він складається з двох частин розділений двокрапкою. Перша - це підключення до віддаленого сервера, аналогічно команді ssh, а потім через двокрапку вказується повний шлях до необхідної директорії на віддаленому сервері, починаючи з кореневої директорії (/).
Завантаження файлів (з віддаленого сервера на локальний комп'ютер)
Для завантаження файлів з віддаленого сервера на локальний комп'ютер використовуйте ту ж команду scp, але в цьому випадку аргументи розташовуються зворотним чином. спочатку першим аргументом розташовується підключення до віддаленого сервера і шлях до потрібного файлу, а другим аргументом - шлях до локальної директорії, куди Ви хочете завантажити файл:
scp username@your_server_ip:/path/to/remote/file path/to/local/directory
При цьому вказаний файл буде перенесений з віддаленого сервера до вашого локального каталогу.
Розширені можливості для підвищення ефективності
Рекурсивні передачі
Щоб перенести цілі каталоги та їх вміст, додайте параметр -r до команди scp:
scp -r path/to/local/directory username@ip_of_your_server:/path/to/remote/directory
Це гарантує перенесення всіх файлів та підкаталогів.
Збереження атрибутів файлу
Використовуйте -p, щоб зберегти атрибути файлу, такі як мітки часу:
scp -p path/to/local/file user_name@ip_of_your_server:/path/to/remote/directory
При цьому зберігаються вихідні метадані файлу під час передачі.
Обмеження пропускної спроможності
Контролюйте використання смуги пропускання під час передачі, вказавши параметр -l, за яким слідує бажана межа (у Кбіт/с):
scp -l 500 path/to/local/file user_name@ip_of_your_server:/path/to/remote/directory
Налаштуйте ліміт відповідно до ваших уподобань та умов мережі, щоб, наприклад, не заважати основній діяльності сервера.
Висновок
Освоєння передачі файлів по SSH в Linux - цінна навичка для будь-якого професіонала в галузі хостингу. Використовуючи ці прості команди та вивчаючи додаткові параметри з офіційного мануалу, ви можете оптимізувати процеси керування файлами, забезпечуючи безпеку та ефективність вашої інфраструктури хостингу.