Keyring больше не запрашивает пароль при SSH-подключении

Keyring больше не запрашивает пароль при SSH-подключении

Я помню, что раньше я мог это сделать, и у меня появлялось приглашение ввести пароль для разблокировки связки ключей на весь сеанс GNOME, чтобы в дальнейшем мне больше не приходилось вводить пароль связки ключей (не совсем уверен, есть ли это в Ubuntu или другом дистрибутиве).ssh [email protected]ssh

Но в настоящее время при таком подходе у меня в терминале каждый раз запрашивается пароль моей связки ключей, что сводит на нет смысл использования ключей SSH.ssh [email protected]

Я проверил

$ cat /etc/pam.d/lightdm | grep keyring
auth    optional        pam_gnome_keyring.so
session optional        pam_gnome_keyring.so auto_start

который выглядит хорошо, и

$ pgrep keyring
1784 gnome-keyring-d

так что демон брелока жив.

Я наконец обнаружил, что переменная SSH_AUTH_SOCK (а также GNOME_KEYRING_CONTROL, GPG_AGENT_INFO и GNOME_KEYRING_PID) не задаются должным образом. Как правильно задать эту переменную и почему они не задаются в моей среде (т. е. разве они не должны быть заданы в установке по умолчанию)?

Думаю, я могу задать его в .bashrc, но тогда переменные будут определены только в сеансе bash, и хотя для ssh это нормально, я считаю, что другие переменные среды необходимы для приложений с графическим интерфейсом, чтобы использовать связку ключей.

решение1

Я нашел это на Arch Wiki:https://wiki.archlinux.org/index.php/GNOME_Keyring

По сути, вы запускаете команду gnome-keyring-daemon -s, чтобы получить конкретное значение вашего ключа, а затем в ваш .bashrc добавляете:

SSH_AUTH_SOCK=`netstat -xl | grep -o '/run/user/yourusername/keyring-xxxxxxx.*/ssh$'`
[ -z "$SSH_AUTH_SOCK" ] || export SSH_AUTH_SOCK

Это должно заставить ssh запросить ваш пароль через графический интерфейс брелока.

решение2

Я часто использую ssh, в основном между моей рабочей станцией Ubuntu и другим веб-сервером Ubuntu со всеми сайтами, над которыми я работаю. Однажды я столкнулся с теми же симптомами, что и вы, и это оказалось связано с тем, как я запускал терминал. Я создал пользовательский ярлык для запуска gnome-terminal, потому что хотел передать определенную командную строку. Но я думаю, что у меня была та же проблема с запуском xterm.

Когда я запускал терминал с помощью встроенного сочетания клавиш (Alt-Ctrl-T) или из меню, он работал правильно и предлагал мне ввести пароль в графическом диалоговом окне, но когда я запускал его с помощью своего пользовательского сочетания клавиш, он всегда спрашивал пароль у самого терминала и не запоминал его.

решение3

У меня тоже была эта проблема. Возникла внезапно. Видимо, из-за сохранённого (возможно неправильного) пароля входа (SFTP) для того же домена.

Решение

Откройте Password and Keys(связку ключей Gnome) и удалите пароль (был под Ubuntu)

Окно «Пароли и ключи»

Перезагрузил и все стало нормально.

export | grep SOCK

Теперь снова возвращено: SSH_AUTH_SOCK=/run/user/yourusername/keyring-xxxxxxx.*/ssh

Связанный контент