В чем может быть причина того, что закрытые ключи не разблокированы?


13

Так как я недавно обновился до Ubuntu 17.10, мои личные ключи - которые я использую, например, для доступа к своему серверу через ssh - не разблокируются программно после входа в систему.

введите описание изображения здесь

Насколько я понимаю, обычно об этом seahorse clientнужно позаботиться, спросив вас, сохранять ли пароль ключа при его первом вводе.

Мое первое предположение было, что seahorse-daemonпо какой-то причине он не работал, но это:

user@Zeus:~$ ps aux | grep seahorse
user    19170  0.0  0.1 432636 26564 ?        Ss   00:07   0:00 seahorse-daemon

Мое второе предположение состояло в том, что по какой-то причине я должен удалить все связанные пароли, хранящиеся в морском коньке в разделе »Пароли-> логин«: введите описание изображения здесь

Я надеялся заставить клиента снова спросить меня и затем снова хранить их. Но это тоже не помогло. Клиент не всплывает, чтобы спросить меня ...

Тогда я нашел этот вопрос, который мог быть связан, но не помог мне: разблокировать все закрытые ключи в Ubuntu, вводя пароль только один раз при входе в систему

Поскольку управление другими паролями работает должным образом (например, пароли для nautilus, Chromium, Nextcloud и т. Д.), Я предполагаю, что проблема связана с ssh-agent...

Кто-нибудь может намекнуть мне в правильных направлениях, как решить эту проблему? Что-то изменилось в том, как GNOME обрабатывает пароли? Может быть, какая-то новая необычная программа не была установлена ​​в процессе обновления?

ОБНОВЛЕНИЕ Когда я снова добавляю закрытый ключ к агенту аутентификации с помощью:

ssh-add ~/.ssh/id_rsa

и попытайтесь войти в систему, мне будет предложено разблокировать ключ только один раз, после чего ключ будет разблокирован программно. Но это работает только до следующей перезагрузки. После нового начала я должен добавить ключ снова ...


Я также внезапно начал просить пароль для разблокировки ключей SSH при использовании Ubuntu 17.10. Принятый ответ мне не помог (работает только до перезагрузки). Вот, видимо, дублирующий вопрос.
— Алексей

Seahorse шифрует свои данные, как вы уже догадались, вашим паролем (как правило). Логины без пароля, такие как ssh с ключом, сканер отпечатков пальцев, ... оставьте расшифровку до тех пор, пока она не понадобится, тогда вас спросят. Вы переключали логины ssh с пароля на ключ, когда проблема началась?
— ubfan1

Ответы:


7

Да, ssh-agent - это ответ. Чтобы сохранить фразу-пароль, все, что вам нужно сделать, это:

ssh-add ~/.ssh/id_rsa

Затем введите свой пароль и войдите снова.


Это помогает только до следующей перезагрузки.
— Алексей

@ Алексей Да, я могу подтвердить, что он работает только до следующей перезагрузки. Пока не нашел решения.
— user5950

ssh-agent запускается во время сеанса входа в систему и завершается, когда вы завершаете его для собственной безопасности. Если он был постоянным при перезагрузках и пароль вашей учетной записи был скомпрометирован, внезапно злоумышленник получает доступ к вашей личности RSA и, следовательно, к каждой машине, к которой у вас есть доступ. Это было бы неприятной дырой в безопасности. Однако существуют некоторые обходные пути, которые делают вашу учетную запись менее защищенной. См. Unix.stackexchange.com/questions/90853/…
— darksky

6

Добавление SSH Key Agent (GNOME Keyring: SSH Agent) в автозагрузку приложений решило проблему для меня:

введите описание изображения здесь


3

Первый вариант

Запустите агент ssh:

ssh-agent

Добавьте ключ ssh:

ssh-add ~/.ssh/id_rsa

Чтобы сохранить его после перезагрузки, автоматически запустите ssh-agent, добавьте следующую строку в ваш .bash_profile:

if [ -z "$SSH_AUTH_SOCK" ] ; then
  eval `ssh-agent -s`
  ssh-add
fi

Второй вариант

Добавьте это к вашему .bashrc или .zshrc:

if [ ! -S ~/.ssh/ssh_auth_sock ]; then
  eval `ssh-agent`
  ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
fi
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
ssh-add -l > /dev/null || ssh-add

Это должно запрашивать пароль только при первом входе в систему после каждой перезагрузки. Он будет продолжать использовать один и тот же ssh-agent, пока он работает.


Спасибо, этот обходной путь выглядит так, как будто он работает, но я странствую, что случилось с тем, что он вообще перестал работать? Раньше он работал в течение последнего десятилетия ... Я хотел бы найти причину, прежде чем идти на обходной путь ...
— user5950
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.