그놈 키링 통합으로 git를 사용하는 방법


129

Git 1.8.0은 gnome-keyring과의 통합을 지원합니다.

http://www.h-online.com/open/news/item/Git-1-8-0-can-access-Windows-and-GNOME-keyrings-1733879.html

자식 자격 증명 도우미에 대한 문서를 읽은 후 : http://git-scm.com/docs/gitcredentials.html

이 새로운 기능을 사용하는 방법을 찾지 못했습니다. 어떻게 통합 할 수 있습니까? Archlinux의 저장소에서 설치된 git으로 Archlinux를 사용하고 있습니다. (git 1.8.0)

답변:


193

@marcosdsanchez의 대답은 Arch (원래 질문에 대답)이지만 Ubuntu에 있습니다. git> = 2.11의 경우 :

sudo apt-get install libsecret-1-0 libsecret-1-dev
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

자식 <2.11의 경우 :

sudo apt-get install libgnome-keyring-dev
cd /usr/share/doc/git/contrib/credential/gnome-keyring
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring

9
나는 처음에 이것을하는 것을 망설 였지만, 마침내했고 완벽하게 작동했습니다. 는 AS gitcredentials에 대한 문서는 말을, 당신은 또한 수행 할 수 있습니다 git help -a | grep credential-당신이 설치된 다른 도우미가 있는지 확인. 기본적으로 제공되는 credential-cache암호는 암호를 입력 한 후 일정 시간 동안 암호를 기억하고 기본적으로 15 분입니다 credential-store. 암호는 디스크의 암호화되지 않은 파일에 ~/.git-credentials기본적으로 암호를 일반 텍스트로 저장하면 됩니다.
ShreevatsaR

51
누구나 수동으로 컴파일 해야하는 이유를 설명 할 수 있습니까? 기본적으로 패키지를 통해 사용할 수 없습니까?
lanoxx

4
우분투 14.04 LTS에서 일했습니다!
Eugene Kulabuhov

4
chmod 0755 git-credential-gnome-keyring루트 이외의 다른 사용자에게 실행 권한을 추가 해야 했습니다
Lari Hotari

8
여전히 우분투 16.04 LTS
Eugene Kulabuhov에 유효

54

Git 1.8.0에는 그놈 키링이 지원되지만 플랫폼에 맞게 바이너리를 컴파일해야합니다.

이것이 아치 리눅스에서 나를 위해 해결 한 것입니다.

$ sudo pacman -S libgnome-keyring
$ cd /usr/share/git/credential/gnome-keyring
$ make
$ git config --global credential.helper /usr/share/git/credential/gnome-keyring/git-credential-gnome-keyring

@VonC 솔루션은 가까웠지만 git config 명령은 실행 파일을 가리켜 야합니다. 그것이 나를 위해 작동하지 않는 이유입니다.


나는 당신의 결론을 반영하기 위해 내 대답을 재 형식화했습니다. 나는 그것을 만들었고 (내 git 1.8 배포판에서 기본적으로 빌드되지 않았다) 오늘 아침에 테스트했다. 작동합니다.
VonC

1
당신이 얻는다면 당신은 Package gnome-keyring-1 was not found in the pkg-config search path.gnome-keyring을위한 dev 라이브러리가 빠져 있습니다. 우분투에서는 이것들과 함께 사용할 수 있습니다 apt-get install libgnome-keyring-dev. 또한 github.com/git/git/tree/master/contrib 에서 git contrib repo를 수동으로 다운로드하여 / usr / share / git-core /에 저장해야했습니다. 이 파일들은 최소한 공식 git-core 우분투 ppa를 사용하여 더 이상 기본 git 설치에 포함되지 않습니다.
Johann

1
이것은 aur 패키지 git-credential-gnomekeyring가 사라진 이유를 잘 설명 하고 있으며 AUR에는 그러한 정보가 없습니다.
ryenus

우분투에는 /usr/share/gitweb 및 git-core에만 git 폴더가 없습니다 . 그러나 나는 Git 1.7.9에 있습니다. 그 이유는 ...?
temporary_user_name

1
아치에서 2017 년 현재, 단순히 설치 libgnome-keyring하면 충분합니다 (적어도 그놈을 사용하는 경우).
ald.li

25

2016 년 4 분기 업데이트 :

  • 유닉스, 맥 (Git 2.11+)

    git config --global credential.helper libsecret
    

( " Git 자격 증명 도우미를gnome-keyring " 와 함께 사용할 때 오류가 발생 함 "참조 )

  • 윈도우 :

    git config --global credential.helper manager
    

( " Windows의 Git Bash 콘솔에서 로그 아웃하는 방법? ": 최신 Windows 용 Git Credential Manager를 사용하는 Git입니다. )


원래 답변 (2012)

자격 증명 도우미는 윈도우, 맥과 유닉스 플랫폼에 처음 도입 된 "자식-자격 헬퍼"REPO , 지금은 자식 배포판에 포함되어있다 :

이 리포지토리에는 Git 자격 증명 도우미 ( gitcredentials(7))가 포함 git되어 있으며 향후 제공 될 예정입니다.

$ git clone git://github.com/pah/git-credential-helper.git
$ BACKEND=gnome-keyring      # or any other backend
$ cd git-credential-helper/$BACKEND
$ make
$ cp git-credential-$BACKEND /path/to/git/crendential

빌드 할 때 /path/to/git/credential디렉토리에 설치됩니다 .

이 백엔드를 사용하려면 다음을 설정하여 (전역) Git 구성에 추가하십시오.

(여기서는 유닉스의 경우) :

git config --global credential.helper /path/to/git/credential/gnome-keyring/git-credential-gnome-keyring

Windows 참고 사항 :

Windows에서 실행되고 " pypi keyring 0.10 "과 같은 라이브러리를 호출하는 프로그램을 만들 수 있다고 가정합니다 .
그러나 이것이 백엔드이므로 Git에서 직접 사용하지 않습니다.

당신이 사용하는 것은 "신임 헬퍼"( Windows에서 원하는 신임 API를 호출 함 )입니다.

Windows 용 GitHub 는 이러한 도우미 (github라는 실행 파일로)를 제공하며 Windows 세션 동안 자격 증명을 저장할 수 있습니다.
"GitHub for Windows"창에서 셸을 시작하면 "git config --system -l"을 입력하면됩니다 :

C:\Users\VonC\Documents\GitHub\test [master +2 ~0 -0 !]> git config --system -l
credential.helper=!github --credentials

credential.helper=!github --credentials부분은 자격 증명 도우미 ' github'를 호출합니다 .

$ git config [--global] credential.helper $BACKEND

내가 찾고있는 것이 아닙니다. 답은 * nix만이어야합니다.
marcosdsanchez

@marcosdsanchez 좋아, Git을 사용하여 Unix에서 그놈 키 링 설정 및 사용법을 포함하도록 답변을 편집했습니다.
VonC

git의 1.8.0 기능을 이미 사용하고 싶습니다. 타사 코드가 아닙니다. 감사.
marcosdsanchez

@marcosdsanchez 그런 다음 github.com/git/git/tree/master/contrib/credential/gnome-keyring (git 패키지) 을 컴파일해야합니다 . 일단 컴파일되면 내 답변에 설명 된대로 설치하고 사용합니다.
VonC

바이너리가 내장되어 있지 않은 것 같습니다.
marcosdsanchez

15

2018 년 10 월 업데이트

그놈은 libgnome-keyring을 더 이상 사용하지 않고 libsecret로 대체했습니다. 커밋 https://github.com/git/git/commit/87d1353a6a 는 새로운 자격 증명 도우미 / usr / libexec / git-core / git-credential-libsecret을 추가했습니다.

git config --global credential.helper libsecret


2
아마도 이것은 gnome-keyring 기반 답변에 대한 의견이어야합니다.
Murmel

동의, gnome-keyring기반의 답변은 그에 따라 편집해야합니다. 아마도 전체 옵션을 제외시킬 수도 있습니다. 우분투 19.10에서는 전혀 작동하지 않았습니다.
마리오

11

Fedora 사용자라면 James Ward의 답변을 약간 편집했습니다.

sudo yum install libgnome-keyring-devel
cd /usr/share/doc/git/contrib/credential/gnome-keyring
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring

2
혼란 스럽습니다 .git 패키지에 이미 포함되어 있지 않습니까? 이 파일은 fc19 패키지, git-1.8.3.1-1.fc19.x86_64에 포함됩니다. 여기이 파일이 있습니다 : /usr/libexec/git-core/git-credential-gnome-keyring.
slm 2016 년

10
Fedora 21, git 2.1.0에서는 다음과 같이 간단하게 수행 할 수 있습니다.git config --global credential.helper gnome-keyring
RedPoppy

7

이 두 줄을 ~/.gitconfig파일에 추가 하십시오.

[credential]
    helper = gnome-keyring

다음에 Git에서 비밀번호를 요청하면 입력 한 비밀번호가 Gnome Keyring에 저장되며 ( seahorse도구로 볼 수 있음 ) 나중에 비밀번호를 다시 묻지 않습니다.

이것은 Git 버전이 2.1.0과 같이 충분히 새롭고 Linux Fedora, RHEL 또는 CentOS에 있다고 가정합니다 . 이전 버전 또는 다른 OS / 디스크의 경우 다른 답변을 확인하십시오.


6
우분투 16.04에서 :git: 'credential-gnome-keyring' is not a git command.
페리는

@ 사이 봇 : 그렇군요. Fedora / RHEL이 제공하는 것처럼 보이지만 Ubuntu는 그렇지 않습니다. 따라서 James Ward ( stackoverflow.com/a/14528360/2148773 ) 의 답변 이 더 좋습니다.
oliver

2

일부 배포는 컴파일없이 설치 패키지로이 통합과 함께 제공됩니다. 그놈의 버전에 따라, 당신도 설치해야합니다 gnome-keyring또는 libsecret패키지의 버전과 같이 git-credential-gnome-keyring(오픈 수세 도약 42.3 참조).

그러나 이것 자체로는 그놈 키링과의 Git 통합이 자동으로 가능하지 않습니다. 이 자격 증명 저장소 방법을 사용하려면 여전히 Git을 구성해야합니다.

git config --global credential.helper gnome-keyring # If you installed git-credential-gnome-keyring
git config --global credential.helper libsecret     # If you installed git-credential-libsecret

우분투 19.10에서는 gnome-keyring옵션이 더 이상 작동하지 않지만 James Ward의 사용 지침은 libsecret여전히 잘 작동합니다. 나는, 그러나, 추천에 의해 혼동을 사용하는 것이 었습니다 gnome-keyring여기에 주어진 : github.com/timhughes/git-credential-libsecret
마리오

libsecret(또는 find /usr -iname git-credential-libsecret제공하는 것)은 젠투 리눅스에서 올바른 옵션입니다. 로 dev-vcs/git나타나야합니다 USE=gnome-keyring.
sphakka

1

Fedora에서 설치 해야합니다

$ sudo dnf install git-credential-libsecret

자격 증명 도우미를 사용 하도록 git 구성 을 편집하십시오 .

[credential]
    helper = /usr/libexec/git-core/git-credential-libsecret

참고로 libsecret패키지가 최근에 분할되었습니다 ( @rugk의 게시물 참조) . 따라서 사용자가이 패키지를 다시 설치해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.