По сути, я спрашиваю, кто-нибудь сталкивался со средствами, которыми можно обернуть rsync внутри ssh.
В OpenSSH v4.9 + sftp есть несколько приятных опций, которые позволяют вам синхронизировать входящее соединение и тому подобное - и это решение, на которое я бы посмотрел, однако я застрял с RHEL, и ни RHEL4, ни RHEL5 не подходят для этой версии SSH.
Мое текущее решение состоит в том, чтобы добавить что-то подобное на стороне сервера, используя ключ пользователя клиента ...
сервер% cat ~ / .ssh / authorized_keys command = "cd / srv / rsync / etl && tar --exclude './lost+found' -pcf - ./" ssh-rsa ...
... и тогда клиент будет ограничен одним и только одним ...
клиент% ssh -T -i $ {HOME} /. ssh / id_rsa oracle@database.com> sensative.tar
Это защищает как соединение, так и сервер (от клиента), однако неэффективно, поскольку все файлы будут извлекаться снова и снова.
Я делаю что-то подобное (или просто лучше) с помощью rsync.
Хорошо, я наконец понял это, но решение не так элегантно, как я надеялся.
На стороне сервера, вам нужно добавить следующее в файл author_keys для соответствующего пользователя ...
На клиенте вы можете создать туннель следующим образом ...
Как только туннель установлен, вы можете rsync, как обычно - использование синтаксиса с двойной двоеточием невозможно - для localhost.
Номер локального порта, который вы выбираете (8073), совершенно необязателен, очевидно, просто помните, что это то, что вам нужно rsync для ...
источник
Возможно, вас заинтересует daemon-over-ssh-mode, который является предметом этого вопроса:
Не удается заставить rsync работать в режиме daemon-over-ssh
источник