Ось що для мене спрацювало, враховуючи, що я хочу зберігати автентифікацію пароля (тому я не хочу використовувати NOPASSWD
або ключі) - на Ubuntu 14.04:
- "Відкрити"
sudo
на віддаленій машині, відключивши tty_tickets
через тимчасовий файл в /etc/sudoers.d/
(який повинен підтримуватися на Debian, див. /etc/sudoers.d/README
), Та "Оновити кешовані облікові дані користувача", що "продовжує час очікування sudo ще на 15 хвилин"
- Виконайте
rsync
з, sudo
як показано в інших відповідях
- "Закрити"
sudo
на віддаленій машині, видаливши тимчасовий файл у /etc/sudoers.d/
, який знову активуєтьсяtty_tickets
... або за допомогою командних рядків:
ssh -t $REMOTEPC 'echo "Defaults !tty_tickets" | sudo tee /etc/sudoers.d/temp; sudo -v'
rsync -aP -e 'ssh' '--rsync-path=sudo rsync' /etc/pulse/client.conf $REMOTEPC:/etc/pulse/client-copy.conf
ssh -t $REMOTEPC 'sudo rm -v /etc/sudoers.d/temp; sudo -v'
Ось відповіді, які я отримую під час виконання цих команд на локальній машині:
$ ssh -t $REMOTEPC 'echo "Defaults !tty_tickets" | sudo tee /etc/sudoers.d/temp; sudo -v'
remoteuser@$REMOTEPC's password:
[sudo] password for remoteuser:
Defaults !tty_tickets
Connection to $REMOTEPC closed.
$ rsync -aP -e 'ssh' '--rsync-path=sudo rsync' /etc/pulse/client.conf $REMOTEPC:/etc/pulse/client-copy.conf
remoteuser@$REMOTEPC's password:
sending incremental file list
client.conf
1269 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/1)
$ ssh -t $REMOTEPC 'sudo rm -v /etc/sudoers.d/temp; sudo -v'
remoteuser@$REMOTEPC's password:
removed ‘/etc/sudoers.d/temp’
[sudo] password for remoteuser:
Connection to $REMOTEPC closed.
Зауважте, що їх sudo -v
слід запускати після кожного /etc/sudoers.d/
введення файлів , щоб зміни в ньому були прийняті.