SSH он же Secure Shell, в основном, используется системными администраторами для удаленного управления серверами и оборудованием. Используя этот же протокол, можно успешно передавать файлы и целые директории.
Для чего это необходимо уметь делать? Каждый сам найдет ответ на этот вопрос. Я предлагаю детально рассмотреть передачу файлов, когда клиентом выступает Windows, и немного коснусь передачи между Unix на примере клиента Ubuntu.
1. Клиент Windows, сервер Ubuntu
Для работы с SSH на Windows в большинстве случаев используют pytty, для передачи файлов существует консольная утилита pscp.exe того же разработчика, что и предыдущая. Если у Вас она отсутствует, загружаем ее с официального ресурса https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html.
Передача одного файла
Синтаксис
PSCP.EXE файл_источник файл_назначения
Пример передачи с клиента на сервер
D:\Program Files (x86)\putty\PSCP.EXE d:\tmpputty.log user@10.10.10.10:/home/user/putty.log
user@10.10.10.10's password:
putty.log | 10139 kB | 10139.7 kB/s | ETA: 00:00:00 | 100%
Где
d:\tmpputty.log - файл который отправляется на сервер
user – имя пользователя удаленного сервера
10.10.10.10 – адрес сервера
/home/user/putty.log – полный путь файла назначения
Пример передачи с сервера к клиенту
D:\Program Files (x86)\putty\PSCP.EXE user@10.10.10.10:/home/user/putty.log d:\tmpputty1.log
user@10.10.10.10's password:
putty1.log | 10139 kB | 10139.7 kB/s | ETA: 00:00:00 | 100%
Передача нескольких файлов
Синтаксис команды аналогичный предыдущему случаю с тем лишь различием, что указываем маску фалов источников и вместо файла назначения указываем директорию. Более понятно будет на примере
Передача от клиента к серверу
D:\Program Files (x86)\putty\PSCP.EXE d:\tmp\putty* user@10.10.10.10:/home/user/
user@10.10.10.10's password:
PUTTY.EXE | 756 kB | 756.1 kB/s | ETA: 00:00:00 | 100%
putty.log | 10139 kB | 10139.7 kB/s | ETA: 00:00:00 | 100%
putty1.log | 10139 kB | 10139.7 kB/s | ETA: 00:00:00 | 100%
d:\tmp\putty* - маска файлов источников, все файлы, которые находятся в папке d:\tmp и начинаются на putty
/home/user/ - папка назначения
Передача с сервера к клиенту
D:\Program Files (x86)\putty\PSCP.EXE user@10.10.10.10:/home/user/putty* d:\tmp\putty_test
user@10.10.10.10's password:
putty.log | 10139 kB | 10139.7 kB/s | ETA: 00:00:00 | 100%
putty1.log | 10139 kB | 10139.7 kB/s | ETA: 00:00:00 | 100%
Передача директории
Иногда бывает необходимость передать целую директорию, я предпочитаю, предварительно заархивировав ее, но есть случаи, когда в этом нет необходимости.
Синтаксис использования аналогичный предыдущим случаям, с той разницей, что указываем директории источника и назначения, а также используем ключ –r
Пример использования
D:\Program Files (x86)\putty\PSCP.EXE -r d:\tmp\putty_test user@10.10.10.10:/home/user/
user@10.10.10.10's password:
putty.log | 10139 kB | 10139.7 kB/s | ETA: 00:00:00 | 100%
putty1.log | 10139 kB | 10139.7 kB/s | ETA: 00:00:00 | 100%
Просмотр содержимого директории
Используем ключ –ls и указываем директорию. Пример ниже
D:\Program Files (x86)\putty\PSCP.EXE -ls user@10.10.10.10:/home/user/
user@10.10.10.10's password:
Listing directory /home/user/
drwxr-xr-x 7 user user 4096 Nov 7 20:41 .
drwxr-xr-x 3 root root 4096 Sep 29 17:36 ..
-rw------- 1 user user 6832 Nov 7 20:37 .bash_history
-rw-r--r-- 1 user user 220 Sep 29 17:36 .bash_logout
-rw-r--r-- 1 user user 3771 Sep 29 17:36 .bashrc
drwx------ 3 user user 4096 Oct 2 15:10 .cache
drwx------ 3 root root 4096 Oct 2 15:10 .config
drwx------ 3 root root 4096 Oct 2 15:10 .local
-rw------- 1 root root 13 Oct 2 16:44 .mysql_history
-rw-r--r-- 1 user user 655 Sep 29 17:36 .profile
-rw------- 1 root root 1024 Oct 2 17:37 .rnd
-rw-r--r-- 1 root root 72 Oct 2 15:11 .selected_editor
-rw-rw-r-- 1 user user 487 Nov 6 21:25 1.txt
-rw-rw-r-- 1 user user 487 Nov 6 21:26 2.txt
-rw-rw-r-- 1 user user 774200 Nov 7 20:41 PUTTY.EXE
-rw-rw-r-- 1 user user 10383009 Nov 7 20:41 putty.log
-rw-rw-r-- 1 user user 10383009 Nov 7 20:41 putty1.log
2. Клиент и сервер Ubuntu (Linux)
Для передачи файлов используется утилита scp, синтаксис использования которой на операциях, описанных выше, абсолютно идентичен. По этой причине не вижу смысла повторяться.
Важное замечание
При передаче фалов не забывайте, что имена фалов и директорий для Unix-систем регистрозависимы, в отличии от Windows.
Если у Вас возникли вопросы, задавайте их в комментариях
Комментариев нет:
Отправить комментарий