Saya telah menginstal pengujian Debian dengan i3wm , menggunakan SDDM (Simple Desktop Display Manager) untuk memulainya. Di ruang kerja i3, saya bisa menemukan proses ssh-agent sudah dimulai. Namun, saya masih diminta memasukkan kata sandi utama saya setiap kali saya melakukan git push to github (remote-nya [email protected]:user/repo.git
). Lihat di bawah untuk detailnya. Adakah cara untuk mencegah hal ini terjadi?
Saya sudah menambahkan saya id_rsa
ke ssh-agent saya.
$ cat /proc/version
(Linux version 4.1.0-2-amd64 ([email protected]) (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
Saya berhasil menguji koneksi SSH ini ssh -v -T [email protected]
dan terlihat baik-baik saja:
ssh -v -T [email protected]
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 [email protected] <implicit> none
debug1: kex: client->server [email protected] <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
Dan inilah output dari git remote show origin
:
Enter passphrase for key '/home/user/.ssh/id_rsa':
* remote origin
Fetch URL: [email protected]:user/repo.git
Push URL: [email protected]: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)
Jawaban:
Saya jalankan
ssh-add
di file konfigurasi i3 saya. Dengan cara ini, saya diminta untuk frasa sandi saya di startup, setelah itu saya bisa menggunakan kunci tanpa diminta lagi.Tidak tahu apa pengaturan Anda (bagaimana Anda menambahkan kunci Anda ke agen atau jika Anda menggunakan gnome keyring atau sesuatu), tetapi ini juga bisa menjadi opsi untuk Anda.
sumber