ssh-agent, що працює з i3wm, продовжує запитувати пароль при кожному git push


2

Я встановив тестування Debian з i3wm , використовуючи SDDM (простий менеджер відображення на робочому столі) для запуску. У робочому просторі i3, я міг знайти процес ssh-agent вже почався. Тим не менш, мені все одно пропонується вводити ключову фразу кожного разу, коли я роблю git push до github (віддалений git@github.com:user/repo.git ). Докладніше див. Нижче. Чи можна запобігти цьому?

Я вже додав свою id_rsa моєму ssh-агенту.

$ cat /proc/version 
(Linux version 4.1.0-2-amd64 (debian-kernel@lists.debian.org) (gcc version 4.9.3 (Debian 4.9.3-3) ) #1 SMP Debian 4.1.6-1 (2015-08-23))

$ i3 --version
i3 version 4.10.3 (2015-07-30, branch "4.10.3") © 2009-2014 Michael Stapelberg and contributors

$ ssh -V
OpenSSH_6.9p1 Debian-1, OpenSSL 1.0.2d 9 Jul 2015

$ apt-cache info sddm
Package: sddm
Version: 0.11.0-3

Я успішно перевірив це з'єднання з SSH ssh -v -T git@github.com і виглядає добре:

ssh -v -T git@github.com
OpenSSH_6.9p1 Debian-1, OpenSSL 1.0.2d 9 Jul 2015
debug1: Reading configuration data /home/user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to github.com [192.30.252.130] port 22.
debug1: Connection established.
debug1: identity file /home/user/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9p1 Debian-1
debug1: Remote protocol version 2.0, remote software version libssh-0.7.0
debug1: no match: libssh-0.7.0
debug1: Authenticating to github.com:22 as 'git'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client chacha20-poly1305@openssh.com <implicit> none
debug1: kex: client->server chacha20-poly1305@openssh.com <implicit> none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ssh-rsa SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /home/user/.ssh/known_hosts:1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/user/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
Enter passphrase for key '/home/user/.ssh/id_rsa': 
debug1: Authentication succeeded (publickey).
Authenticated to github.com ([192.30.252.130]:22).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
Hi user! You've successfully authenticated, but GitHub does not provide shell access.
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 3252, received 1776 bytes, in 0.1 seconds
Bytes per second: sent 59136.9, received 32296.2
debug1: Exit status 1

А ось вихід git remote show origin:

Enter passphrase for key '/home/user/.ssh/id_rsa': 
* remote origin
  Fetch URL: git@github.com:user/repo.git
  Push  URL: git@github.com:user/repo.git
  HEAD branch: master
  Remote branch:
master tracked
  Local branch configured for 'git pull':
master merges with remote master
  Local ref configured for 'git push':
master pushes to master (up to date)

Проблема все ще зберігається.
hyiltiz

Відповіді:


0

Я виконую ssh-add у файлі налаштувань i3. Таким чином, мені буде запропоновано мій пароль під час запуску, після чого я можу використовувати ключ без запиту ще раз.

Не знайте, що таке ваша настройка (як додати ключ до агента, або якщо ви використовуєте брелок gnome або щось інше), але це може бути і варіантом для вас.


1
Гаразд, я можу собі уявити спосіб її вирішення. Але я ввійшов до i3, ввівши свій пароль користувача з менеджера входу SSDM (наданого KDE5). Будь-який спосіб додати ці ключі без введення ключових паролів? Я пригадую, що деякі програми для брелок можуть використовувати пароль для входу в систему як головний пароль, а потім автоматично додавати всі ключі.
hyiltiz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.