Назад | Перейти на главную страницу

Аутентификация ключа не работает при использовании ssh или rsync в качестве sudo

У меня есть настройка аутентификации ключа 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/