16.3. Безопасная пересылка данных с применением ssh

Проблема
Требуется использовать rsync для копирования файлов на другой компьютер по
локальной сети или Интернету, с защитой пересылаемых данных посредством
шифрования и аутентификации.
Решение
Используйте rsync на базе ssh. Для этого на всех хостах должна работать програм ма ssh.
Укажите исходный и приемный каталог и включите в командную строку пара метр -е ssh. Следующая команда пересылает файлы по локальной сети в учетную
запись Ijl на удаленном компьютере с именем stinkpad:
ljl@compak:~$ rsync -av -e ssh stationery stinkpad:test
1jl@stinkpad's password:
building f i l e l i s t . . . done
stationery/
stationery/1jl-return-address-small.sxw
stationery/1jl-holiday-label.sxw
stati onery/1jl- return

•address

•MV

•smal1.sxw
wrote 25984 bytes read 68 bytes 7443.43 bytes/sec
total size is 25666 speedup is 0.99
Будьте внимательны с путями. Параметр stinkpad:test загружает каталог stationery
и все его содержимое в каталог/home/ljl/test на хосте stinkpad. Если каталог /test
не существует, rsync создаст его:
1 jl@stink.pad's password:
building f i le l i s t . . . done
created directory test
Чтобы загрузить данные в каталог, находящийся за пределами вашего домаш него каталога, потребуются разрешения, достаточные для создания нового ката лога программой rsync (или это должен быть существующий каталог, в который
вам разрешена запись). Чтобы каталог задавался по отношению к корневой фай ловой системе, а не к домашнему каталогу, поставьте перед ним символ /:
$ rsync -av -e ssh stationery stinkpad:/shared_uploads
Чтобы загрузка файлов производилась по Интернету, укажите свое имя пользо вателя в удаленной системе и полное доменное имя:
$ rsync -av -e ssh stationery ljl@stinkpad.test.net:/shared_uploads
Синтаксис копирования файлов с удаленного хоста выглядит несколько ина че. Следующая команда копирует каталог/scripts и его содержимое с удаленного
хоста в локальный каталог/downloads:
$ rsync -av -e ssh 1jTOstinkpad.test.net:/shared_uploads/scripts -/downloads/
Комментарий
И аутентификация, и пересылка шифруются, поэтому механизм rsync хорошо под ходит для пересылки конфиденциальной информации. Единственное неудобство
заключается в том, что пользователи должны иметь учетные записи на всех ком пьютерах, на которых они будут сохранять или загружать файлы, что создает до полнительные хлопоты с настройкой. Центральный сервер с общими каталогами
хорошо подходит для управления сложными сценариями совместного доступа к
файлам. Для управления доступом используется стандартный инструментарий
Linux — разрешения файлов и каталогов, группы.
См. также
rsync(l).