![해결 방법: dpkg-divert를 사용하여 gnome-keyring을 비활성화합니다.](https://rvso.com/image/1048326/%ED%95%B4%EA%B2%B0%20%EB%B0%A9%EB%B2%95%3A%20dpkg-divert%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20gnome-keyring%EC%9D%84%20%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94%ED%95%A9%EB%8B%88%EB%8B%A4..png)
나는 gnome-keyring이 내 git 커밋을 방해하는 것을 원하지 않습니다. 부분적으로 KDE에서도 암호를 묻는 동안 전체 화면을 잠그기 때문입니다(지금은 GNOME으로 전환했지만). 매번 SSH 암호를 입력할 필요가 없다는 편리함에 감사하지만 창에서 창으로 이동해야 하면 개인적으로 해당 암호가 취소됩니다. 그것은 단지 위안입니다 :/
git config --global --unset credential.helper
및 을 시도했지만 git config --system --unset credential.helper
효과가 없는 것 같습니다. 지금은 GNOME을 사용하고 있으므로 gnome-keyring을 제거하고 싶지 않습니다. 제가 할 수 있는 다른 옵션이 있나요? 저는 현재 Ubuntu 14.10을 사용하고 있으며 Kubuntu와 Ubuntu GNOME을 모두 사용하여 이 작업을 수행했습니다. 감사해요.
업데이트 2014년 11월 17일
이는 분명히 모든 SSH에 영향을 미칩니다. 나는 노력했다
sudo rm /etc/xdg/autostart/gnome-keyring-ssh.desktop
하지만 그것은 효과가 없었습니다. 내가 할 수있는
gnome-keyring-daemon --replace -c pkcs11,secrets,gpg
매 세션마다 한 번이지만 영구적으로 유지하고 싶습니다. 여전히 쳐다보다...
답변1
.desktop
에서 관련 파일을 복사하여 /etc/xdg/autostart
추가 ~/.config/autostart
하세요 Hidden=true
.
(cat /etc/xdg/autostart/gnome-keyring-ssh.desktop; echo Hidden=true) > ~/.config/autostart/gnome-keyring-ssh.desktop
그 다음에다시 장전하다 그놈 쉘( Alt+ 를 누른 F2다음 입력 r하고 를 누릅니다 Enter).
이것은 유일한사용자 친화적인 솔루션그것은 나에게 효과적이었습니다(즉, 소프트링크할 필요가 없습니다)..desktop파일을 제출하다/dev/null아니면 chmod 0
그 gnome-keyring-daemon
). 실제로 소프트링크는/dev/null그놈 3.16에서 작동이 멈췄습니다.
신용은 다음과 같습니다누스.
답변2
저는 Trusty 이외의 Ubuntu 릴리스에 대해서는 말할 수 없습니다. 그리고 GNOME은 모든 릴리스가 다를 것이라고 보장할 수 있을 만큼 끊임없이 움직이는 대상입니다. 그러나 이것이 제가 찾은 가장 안정적으로 작동하는 것입니다.
mkdir -p ~/.config/autostart
cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart/
echo "X-GNOME-Autostart-enabled=false" >> ~/.config/autostart/gnome-keyring-ssh.desktop
Unity에서 세션 시작은 적어도 이상할 것입니다. GNOME3도 이상할 것입니다. Upstart 스크립트를 실행한 다음 및 /usr/share/upstart/sessions/
아래의 모든 자동 시작 데스크톱 항목을 실행하며 다른 많은 항목은 둘 다에 있습니다. 에서도 나는 그것을 테스트하지 않았습니다)./etc/xdg/autostart
gnome-keyring
/usr/share/upstart/xdg/autostart
upstart gnome-keyring-ssh
항목은 시스템 또는 사용자 로컬 .desktop 항목에서 해당 줄을 확인한 다음 X-GNOME-Autostart-enabled=false
취소한 다음 표준 ssh-agent
세션이 실행됩니다. 그러면 사용자 로컬 자동 시작에 일치하는 항목이 없으면 시스템 전체가 gnome-keyring-ssh
시작됩니다. 이 경우 해당 항목이 대신 실행됩니다./etc/xdg/autostart
enable=false
예전에는 로컬 자동 시작에 해당 줄만 있으면 충분했지만 최근(2016년 5월부터 Trusty의 LTS 기간이 2년이 넘은 시점)에 동작이 바뀌어 전체 항목과 유사한 것이 필요해졌습니다. 필요한 정확한 키 세트와 문제가 되는 패키지 업데이트에 대해 계속 조사 중입니다.
GNOME 사람들이 OpenSSH 키 에이전트를 통해 프록시를 사용하지 않은 이유는 다음과 같습니다.누구의 추측. 좀 더 합리적인 행동을 취하도록 제안하고 싶을 수도 있습니다.이 Bugzilla 항목에서.
답변3
gnome-kerying의 ssh-agent 구성 요소만 비활성화하는 훌륭하고 깔끔한 방법:
gconftool-2 --set --type bool /apps/gnome-keyring/daemon-components/ssh false
답변4
해결 방법: dpkg-divert를 사용하여 gnome-keyring을 비활성화합니다.
sudo dpkg-divert --local --rename /usr/bin/gnome-keyring-daemon
다음에 로그인하면 사라집니다. 이 한 줄이면 충분합니다. 설명과 경고를 보려면 계속 읽어보세요.
짧은 설명
이 솔루션은 프로그램 이름을 gnome-keyring-daemon.distrib로 변경하여 찾을 수 없도록 합니다.
로그인하면 gnome-keyring이 SSH 통합을 처리하는 대신 비밀번호 요청이 SSH-agent로 직접 이동합니다. 일반적인 ssh-add
명령을 사용하여 git 커밋을 위한 SSH 키를 잠금 해제할 수 있습니다.
주의사항 및 후회
그놈 열쇠 고리는 깊이서로 얽혀 있다그놈 데스크탑으로. 그렇지 않으면 교체품이 설치될 때까지 일부 기능이 작동하지 않을 수 있습니다.
Gnome Keyring을 다시 활성화하려면
sudo dpkg-divert --remove --rename /usr/bin/gnome-keyring-daemon
Gnome Keyring을 사용하고 있지만 이를 모르고 있을 수도 있습니다.
Chromium 및 Evolution과 같이 비밀번호를 저장할 수 있는 많은 애플리케이션은 Gnome Keyring에 저장된 마스터 키를 사용하여 비밀번호를 암호화합니다. Gnome Keyring을 비활성화하면 저장된 모든 비밀번호에 대한 액세스가 차단됩니다. Gnome Keyring을 비활성화하기 전에 저장된 비밀번호를 백업하는 것이 좋습니다.
Gnome 키링 백업
~/.local/share/keyrings/에 파일을 복사하여 키를 백업할 수 있습니다. 비밀은 암호화되어 있으므로 보안 상태에 따라 일반 텍스트로 백업할 수 있습니다. 그렇게 하려면 "비밀번호 및 키" 프로그램(일명 "Seahorse")을 사용하여 로그인 키링에 대한 빈 비밀번호를 임시로 설정하십시오. (팁: Seahorse는 마우스 오른쪽 버튼 클릭 상황에 맞는 메뉴에서 비밀번호 변경 옵션을 숨깁니다.)
경고: 비밀번호는 일반 텍스트로 저장될 수 있습니다.
Chromium과 Google Chrome은 "Secret Service"라는 데몬을 사용하여 저장된 비밀번호에 대한 암호화 키를 얻습니다. Secret Service가 누락된 경우 Gnome Keyring을 비활성화하면 비밀번호가 저장됩니다.암호화되지 않은. Firefox와 달리 크롬 기반 브라우저는 현재 기본 비밀번호를 수동으로 설정하는 방법을 제공하지 않습니다.
Freedesktop.org의 비밀 서비스 통합
Gnome Keyring은 Secret Service 데몬 역할을 할 수 있는 프로그램 중 하나일 뿐입니다. Chromium 및 Evolution에서 저장된 비밀번호를 암호화하려면 keepassxc를 설치하고 설정에서 Secret Service를 활성화하세요.
추가 설명
왜 그냥 사용하지 않습니까 chmod
or mv
?
chmod 또는 mv를 통한 변경 사항은 시스템이 업데이트되면 되돌려집니다. dpkg를 사용하면 이 솔루션은 Ubuntu의 새 릴리스로 업그레이드하는 경우에도 지속됩니다.
덜 과감한 방법은 없나요?
이 글을 쓰는 시점에서는 Gnome Keyring에게 비밀 서비스 통합을 계속 제공하고 ssh-agent 조작을 중단하라고 지시하는 것은 불가능한 것 같습니다. 많은 사람들에게는 이것이 이상적이므로 Gnome이 미래에 해당 옵션을 추가하기를 바랍니다.
다른 방법이 작동하지 않는 이유
수년에 걸쳐 다양한 솔루션이 제안되었으나 다음 릴리스에서는 중단되었습니다. 다음은 왜 안되는지에 대한 간략한 요약입니다.
그놈 키링 구성
이상적인 솔루션은 올바른 작업을 수행하도록 Gnome Keyring을 구성하는 것입니다. 실제로 --components
거의 작동하는 명령줄 옵션이 있습니다 . 초기화할 구성 요소를 지정할 수 있습니다.
gnome-keyring-daemon --components secrets,ssh,pkcs11
목록에서 ssh를 생략할 수 있으며 이론적으로 ssh 인증을 방해하지 않습니다. 불행히도 그것은 내 경험이 아니었습니다. 아마도 문제는 gnome-keyring이 여러 위치에서 시작되었다는 점일 것입니다(아래 참조). 그러나 요점은 Gnome Keyring에게 다음을 지시할 방법이 없다는 것입니다.절대ssh 구성요소를 로드합니다.지금은 아니야.
그놈 키링을 적절하게 제거하십시오.
gnome-keyring 패키지를 제거하는 확실한 솔루션은 gnome-core를 포함하여 이에 의존하는 모든 패키지도 제거합니다. 여러 가지 방법이 있지만 실수로 전체 그놈 데스크탑 환경을 제거하게 되는 경우가 많습니다.
다양한 공격 벡터
gnome-keyring-daemon을 죽이기 어렵게 만드는 것 중 하나는 로그인 시 (적어도) 네 가지 다른 방법을 통해 시작된다는 것입니다. 각 방법은 특정 방법으로 비활성화해야 합니다.
- /etc/pam.d/gdm-password의 PAM(플러그형 인증 모듈)
- 시스템화된 사용자 서비스 및 소켓
- /usr/share/dbus-1/services/의 systemd 사용자 session.slice
- /etc/xdg/autostart/gnome-keyring-*.desktop에서 XDG 자동 시작