Đây là những gì làm việc cho tôi, xem xét rằng tôi muốn giữ xác thực mật khẩu (vì vậy tôi không muốn sử dụng NOPASSWD
hoặc khóa) - trên Ubuntu 14.04:
- "Mở"
sudo
trên máy từ xa bằng cách vô hiệu hóa tty_tickets
thông qua tệp tạm thời /etc/sudoers.d/
(cần được hỗ trợ trên Debian, xem /etc/sudoers.d/README
) và "Cập nhật thông tin đăng nhập được lưu trong bộ nhớ cache của người dùng", giúp "kéo dài thời gian chờ sudo thêm 15 phút nữa"
- Chạy
rsync
với sudo
như trong câu trả lời khác
- "Đóng cửa"
sudo
trên máy từ xa bằng cách xóa tệp tạm thời /etc/sudoers.d/
, cho phép bật lạitty_tickets
... hoặc, với các dòng lệnh:
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'
Đây là những phản hồi tôi nhận được khi chạy các lệnh này trên máy cục bộ:
$ 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.
Lưu ý rằng sudo -v
nên được chạy sau mỗi lần tập tin vào /etc/sudoers.d/
, vì vậy những thay đổi trong đó được chấp nhận.