summaryrefslogtreecommitdiff
path: root/LINUX/SCP, SFTP.md
diff options
context:
space:
mode:
Diffstat (limited to 'LINUX/SCP, SFTP.md')
-rw-r--r--LINUX/SCP, SFTP.md70
1 files changed, 70 insertions, 0 deletions
diff --git a/LINUX/SCP, SFTP.md b/LINUX/SCP, SFTP.md
new file mode 100644
index 0000000..e133e5f
--- /dev/null
+++ b/LINUX/SCP, SFTP.md
@@ -0,0 +1,70 @@
+Скопируем файл с удаленного хоста в локальный каталог:
+$ scp user@host:/path/to/file /local/dir
+
+Скопируем файлы с локального компьютера на удаленный хост:
+$ scp /local/dir/file user@host:/remote/dir
+
+Скопируем файл с одного удаленного хоста на другой:
+$ scp user1@host1:/remote/file user2@host2:/remote/dir
+
+========================================
+Прога **sftp** не требует постоянно указывать адрес **ssh** сервера. Вместо этого мы подключаемся к нему один раз и используем интерфейс **get** и **put**:
+
+$ sftp user@host
+sftp> get /remote/dir/file /local/dir
+sftp> put /local/dir/file /remote/dir
+
+Для передачи каталогов используем флаг "**-r**": 
+$ scp -r /local/dir user@host:/remote/dir
+$ sftp> put -r /local/dir /remote/dir
+
+***Также хочется отметить, что **sftp** имеет важное преимущество перед обычным **ftp** — она не требует, чтобы на удаленном узле работал сервер **FTP**. Ей необходим только **SSH**.
+
+========================================
+```sh
+mkdir bot
+scp /полный/путь/к файлу/скрипта/bot.py vlapa@10.10.10.2:~/work_prog
+
+# Копируем файл на сервер (копирум = что -> куда):
+
+scp -r source_file_name username@destination_host:destination_folder
+# параметр: -r – рекурсивное копирование папок (включая подкаталоги)
+
+scp /etc/wireguard/wg0.conf vlapa@10.0.0.1:/home/vlapa/wg000.conf
+scp vlapa@10.0.0.1:/home/vlapa/wg0.conf log.txt
+scp path/myfile user@8.8.8.8:/full/path/to/new/location/
+
+# Копируем файл с сервера:
+
+scp user@8.8.8.8:/full/path/to/file /path/to/put/here
+```
+
+```
+-r - рекурсивное копирование
+-p - сохраняет временные метки и права доступа на файлы
+-q - тихий режим. Подавляет все сообщения, кроме ошибок
+-C - включает сжатие данных
+-P 1345 - указывает порт подключения к удаленному хосту
+```
+💻 **Передача файлов с помощью scp**
+Когда нам необходимо быстро передать файл на сервер или наоборот, скопировать файл с сервера на локалку, мы можем воспользоваться утилитой — **scp (Secure Copy Protocol)**. 
+
+SCP — это утилита командной строки в Linux, используемая для безопасной передачи файлов между локальным и удаленным узлами или между двумя удаленными узлами. Она использует протокол SSH (Secure Shell) для передачи данных, обеспечивая безопасное копирование файлов с использованием тех же мер аутентификации и безопасности, что и SSH.
+
+⚙️ **Примеры использования**
+• Копирование файла на удалённый сервер:
+
+`scp file.txt user@remote_host:/path/to/destination  
+
+• Скачивание файла с сервера:
+`scp user@remote_host:/path/to/file.txt ./  
+
+• Передача директории:
+`scp -r папка user@remote_host:/path/to/destination  
+`-r — ключ для копирования директории
+
+ • Указание порта SSH:
+Если вдруг используется нестандартный порт, мы можем его передать установив флаг -P:
+`scp -P 2222 file.txt user@remote_host:/path/to/destination 
+
+➡️ Для оптимизации передачи больших файлов, можем добавить флаг -C для сжатия файлов. А также, для проверки удачной передачи, включаем подробный вывод -v. \ No newline at end of file