Блог компанії 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 - цінна навичка для будь-якого професіонала в галузі хостингу. Використовуючи ці прості команди та вивчаючи додаткові параметри з офіційного мануалу, ви можете оптимізувати процеси керування файлами, забезпечуючи безпеку та ефективність вашої інфраструктури хостингу.