Более простая стратегия - войти на удаленный сервер и запустить команду rsync с правами sudo.
Я предполагаю, что вы работаете под Linux на обеих машинах.
Давайте назовем localuser именем пользователя на локальном сервере, а remoteuser именем пользователя на удаленном сервере.
- На локальном сервере смонтирован внешний блок по пути
/media/MyUsb
- На удаленном сервере есть каталог
/data/DirToSync
.
localuser@localserver ~> ssh -X remoteuser@remoteserver
Он должен спросить вас пароль для удаленного пользователя на удаленном сервере и после этого покажет приглашение на удаленном сервере:
remoteuser@remoteserver ->
Здесь вы можете написать команду rsync :
sudo rsync -av /data/DirToSync localuser@localserver:/media/MyUsb
Он будет запрашивать пароль sudo
на удаленной машине (пароль remoteuser @ remoteserver) и пароль получателя (localuser @ localserver).
Заметки
- Вы должны быть в списке sudoers удаленного компьютера (это означает, что вы должны иметь право на запуск
sudo
). Попробуйте выполнить sudo ls
на удаленном сервере и введите пароль при запросе. Если он выполнит команду ls
вы в этом списке. (Это должен быть очень редкий и небезопасный случай, если вы были в этом списке и не нуждались в пароле; в этом случае вам не нужно писать пароль для sudo
).
- Вам не будут предложены пароли для соединений
ssh/rsync
если вы сгенерировали и установили ssh-ключи.
- через
ssh
вы даже можете отправить команду sudo
в rsync
оттуда на localhost, но это немного более сложный синтаксис, см. здесь, например, и вы можете столкнуться с какой-то проблемой из-за sudo
в некоторой версии linux.