sudo ssh запрашивает парольную фразу, когда она не должна

0

я смогу ssh user@remotemachine без пароля с помощью пары ключей с пустой парольной фразой. Тем не менее, когда я делаю sudo -u user ssh user@remotemachine он постоянно просит пароль. Также sudo -u user ssh -i /home/user/.ssh/id_rsa user@remotemachine не помогает Это почему?

Предыстория: я запускаю скрипт на python как sudo, и из этого скрипта мне нужно ssh для удаленной машины как пользователь.

Любая помощь приветствуется!

РЕДАКТИРОВАТЬ

В ответ на комментарий я повторил попытку с опцией -vv. Все выглядит хорошо, ключ найден, отправлен на сервер и принят. Однако тогда идут следующие строки:

debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: fp <here was the fingerprint>
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/user/.ssh/id_rsa':
Konstantin
источник
Добавить -vv вариант вашей команды SSH. Я думаю, вы отказываетесь использовать ваш ключ или по какой-то причине не можете его найти. Который должен быть упомянут в подробном выводе.
Zoredache

Ответы:

0

Хорошо, это была моя вина. Ключ был фактически зашифрован, как я мог видеть, открыв его в текстовом редакторе. Тот факт, что без sudo меня не спрашивали о парольной фразе, был вызван тем, что я уже ввел парольную фразу при входе в систему (я полагаю, что это кэширует какая-то утилита gnome) и забыл об этом из-за продолжительного времени работы :)

С sudo, я думаю, я не смог получить доступ к этому кешированному паролю

Чтобы расшифровать закрытый ключ, вы можете использовать openssl rsa -in id_rsa -out id_rsa.decr, затем rm id_rsa, с последующим mv id_rsa.decr id_rsa,

Konstantin
источник