Как я могу решить эту проблему с ssh-agent?

Я использую Linux Mint и не смог получить gnome-keyring, чтобы автоматически разблокировать при входе в систему.

Симптом моей проблемы заключается в следующем:

$ ssh-add Identity added: /home/me/.ssh/id_rsa (/home/me/.ssh/id_rsa) $ git pull WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-Nmf3J3/pkcs11: No such file or directory 

Как я могу сделать это, чтобы git мог нажать / вытащить без ввода кодовой фразы от меня?

Я понимаю, что здесь есть несколько вещей с gnome-keyring и ssh-agent, но они не смогли прибить его.

Запуск ssh-add во время сеанса означает, что меня больше не запрашивают кодовую фразу для SSH / git.

Проблема в том, что мне нужно будет запускать ssh-add во время каждого сеанса – я должен упускать, как разблокировать брелоки Gnome при входе в систему.

 $ export | grep GNOME GNOME_KEYRING_CONTROL=/tmp/keyring-hjMM4V GNOME_KEYRING_PID=1961 

Это произошло снова на той же сессии, что и первое редактирование. Я сделал git pull и получил WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-hjMM4V/pkcs11: No such file or directory .

 $ env | grep SSH SSH_AGENT_PID=2116 SSH_AUTH_SOCK=/tmp/ssh-OACxJMBY2038/agent.2038 $ ps -fp $SSH_AGENT_PID UID PID PPID C STIME TTY TIME CMD eoin 2116 2038 0 09:47 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager 

4 Solutions collect form web for “Как я могу решить эту проблему с ssh-agent?”

Что должно произойти:

Вы запускаете сеанс gnome, частью которого запускается демон gnome-keyring (который также действует как агент ssh), и среда чего-либо, запущенного во время этого сеанса gnome, обновляется информацией о том, как связаться с этим агентом ssh. Пароль, который вы выдаете при графическом входе, используется для разблокировки ключевого слова по умолчанию.

Когда вы используете gnome-keyring как ssh-agent, вы не хотите использовать другой агент, такой как ssh-agent .

Когда ваш X-сеанс завершается, также делает gnome-keyring. Но сеанс tmux остается. Затем, даже если вы запустите другой gnome-keyring или ssh-agent, среда процессов, уже запущенных tmux , не сможет с ней поговорить, если вы не обновите их среду с помощью пути нового сокета.

Что вы можете сделать, так это:

 gnome-keyring-daemon -r > ~/.gkr 

И делай . ~/.gkr . ~/.gkr во всех оболочках, которые вы хотите использовать новый гном-ключ

Остерегайтесь, какой из них будет отображаться DISPLAY, с которым подключается gnome-keyring-daemon.

Первое, что я попробую, это apt-get install ssh-askpass-gnome иначе если у вас не будет установлен этот пакет (или какая-то альтернативная программа askpass), тогда gnome не сможет запросить ваш пароль, когда вам нужно разблокировать твой ключ.

Вам также необходимо будет правильно настроить переменную DISPLAY :

 $ echo $DISPLAY :0.0 

Кроме того, как вы начинаете свой терминал? Может возникнуть проблема с тем, как вы начинаете сеанс терминала и не наследуете ли он от gnome-session . Это может произойти, если вы используете какую-либо программу gnon-gnome для установки привязок клавиш.

Предполагая, что вы используете gnome-terminal вы можете проверить с помощью pstree . Здесь вы можете увидеть правильное наследование:

 $ pgrep gnome-terminal | xargs -l1 pstree -s init(1)───lightdm(1643)───lightdm(26912)───gnome-session(27049)───xmonad-x86_64-l(27139)───gnome-terminal(26036)─┬─bash(26041) ├─gnome-pty-helpe(+ ├─{gnome-terminal}+ ├─{gnome-terminal}+ └─{gnome-terminal}+ 

Если в этом сеансе он не наследуется от gnome-session :

 $ pgrep gnome-terminal | xargs -l1 pstree -s init(1)───sh(25919)───gnome-terminal(25920)─┬─bash(25927) ├─gnome-pty-helpe(25926) ├─{gnome-terminal}(25921) ├─{gnome-terminal}(25924) └─{gnome-terminal}(25928) 

Кроме того, проверьте, что ssh-agent запускается с помощью gnome-session :

 $ pgrep ssh-agent | xargs -l1 pstree -s init(1)───lightdm(1643)───lightdm(26912)───gnome-session(27049)───ssh-agent(27091) 

Я думаю, проблема в постоянном хранении защищенного паролем SSH-ключа.

Пожалуйста, ознакомьтесь со следующими ресурсами:

Добавьте это в свой .bash_profile

 if [ -n "$SSH_AUTH_SOCK" \ -a "${SSH_AUTH_SOCK::13}" = "/tmp/keyring-" \ -a ! -L "$SSH_AUTH_SOCK" ] then OLD_AUTH_SOCK="$SSH_AUTH_SOCK" eval `ssh-agent` mv "$OLD_AUTH_SOCK" "$OLD_AUTH_SOCK"~ ln -sfn "$SSH_AUTH_SOCK" "$OLD_AUTH_SOCK" SSH_AUTH_SOCK="$OLD_AUTH_SOCK" fi 
  • ssh-add жалуется: не удалось открыть соединение с вашим агентом аутентификации
  • Ssh продолжает просить кодовую фразу несколько раз
  • Keychain SSH Key Manager предотвращает регистрацию SFTP на CentOS
  • Агент SSH не работает с частным ключом pkcs8
  • Как организовать ключи SSH?
  • Настройка таймаута по умолчанию для агента SSH
  • ssh-agent: как сохранить ключ входа и добавить больше идентификаторов?
  • ssh-agent и таймаут
  • Как использовать ssh-agent для предоставления ключей, специфичных для хоста, из файла ~ / .ssh / config и управления паролями?
  • Сохранить ключевую фразу ключевого слова SSH с помощью keychain с опцией -noask
  • Может ли ssh (агент) работать с двумя отдельными идентификаторами?
  • Interesting Posts

    Узнайте, работает ли ОС в виртуальной среде

    Могу ли я войти в систему пользователя после его создания?

    pthread в реальном времени, созданный из потока, отличного от реального времени, с помощью init.d

    Список точек монтирования внешних устройств хранения, таких как USB-брелки и внешние диски SATA, из кли

    abcde записывает неправильные времена воспроизведения в файлы MP3

    Мне нужен драйвер видеокарты для Linux?

    Как создать таймер блокировки экрана для Awesome WM?

    Как удалить ограничение длины от losetup -a

    файл cat для многоадресной рассылки

    ftp пользователь может писать где угодно в домашнем каталоге, но не в домашнем каталоге привязки

    Squid: как заблокировать веб-сайт, но разрешить доступ к определенным папкам

    Подключиться к DSL-соединению (PPPoE) через Wi-Fi в Монетном дворе?

    Отсутствие файлов после сборки RAID-5

    Проблема Ecryptfs с rsync

    vi – как добавить определенные символы в конце строки

    Linux и Unix - лучшая ОС в мире.