У меня есть настройка аутентификации ключа RSA ssh между клиентом и сервером ubuntu (после этой процедуры):
- аутентификация ключа RSA для ssh
и rsync
работают нормально (пароль не требуется).
- аутентификация ключа RSA для sudo rsync
и sudo ssh
не удается (мне предлагается ввести пароль).
-Мне нужно использовать sudo rsync
для записи удаленных файлов локально.
Я запускаю следующую команду:
user1@server:/$ sudo su user2
user2@server:/$ rsync 192.168.1.2:... # ok
user2@server:/$ sudo rsync 192.168.1.2:... # remote host password prompt
К вашему сведению user1 и user2 являются частью sudoers
Есть идеи, откуда это могло взяться?
Спасибо.
обновлено: чтобы уточнить, запрос пароля исходит не от sudo, а с сервера
Вы должны указать ему использовать правильный открытый ключ. Я подозреваю, что ssh все еще использует ключ user1, а не user2. Используйте эту команду:
sudo -u user2 ssh -i ~user2/.ssh/id_rsa remoteserver
Я протестировал это на своей машине, и это сработало.
эта проблема в
#/etc/sudoers
====at the end of file add this====
user1 ALL = NOPASSWD:ALL
это удалит запрос пароля для пользователя, использующего команду sudo.
не забывайте, что пользователи sudo могут хранить свои ssh-ключи в /root/.ssh/, а не в /home/user1/.ssh/