Jak wyłączyć integrację ssh z kluczem gnome?

10

Nie chcę, aby gnome-keyring przeszkadzał mi w git commits, częściowo dlatego, że blokuje cały ekran, prosząc o hasło, nawet w KDE (chociaż teraz przełączyłem się na GNOME). Doceniam wygodę, że nie muszę wprowadzać hasła SSH za każdym razem, ale przeskakiwanie z okna do okna anuluje to osobiście. To tylko wygoda: /

Próbowałem git config --global --unset credential.helperi git config --system --unset credential.helper, ale wydaje się, że nie działają. Ponieważ teraz używam GNOME, wolałbym nie usuwać kluczy gnome. Czy jest jakaś inna opcja, którą mogę zrobić? Jestem obecnie na Ubuntu 14.10, robiłem to zarówno z Kubuntu, jak i Ubuntu GNOME. Dzięki.

AKTUALIZACJA 17 listopada 2014 r

To najwyraźniej dotyczy całego SSH. Próbowałem zrobić

sudo rm /etc/xdg/autostart/gnome-keyring-ssh.desktop

ale to nie zadziałało. Potrafię

gnome-keyring-daemon --replace -c pkcs11,secrets,gpg

raz na każdą sesję, ale chciałbym zachować to na stałe. Nadal poszukuje...

andlabs
źródło
Powiązane pytania i odpowiedzi na temat tego, dlaczego brelok GNOME psuje
gertvdijk 10'15

Odpowiedzi:

10

Po prostu skopiuj odpowiedni .desktopplik z /etc/xdg/autostartdo ~/.config/autostarti dodaj Hidden=truedo niego:

(cat /etc/xdg/autostart/gnome-keyring-ssh.desktop; echo Hidden=true) > ~/.config/autostart/gnome-keyring-ssh.desktop

następnie ponownie załaduj gnome-shell (naciśnij Alt+ F2, a następnie wpisz ri naciśnij Enter).

Jest to jedyne przyjazne dla użytkownika rozwiązanie, które zadziałało dla mnie (tj. Bez konieczności łączenia softlink pliku .desktop do / dev / null lub chmod 0do gnome-keyring-daemon). W rzeczywistości softlinkowanie do / dev / null przestało działać w GNOME 3.16.

Kredyt trafia do nus .

mmoya
źródło
5
Wygląda na to, że nie działa już w 16.04. Dlaczego wydaje się, że z każdą wersją Ubuntu nowa metoda uruchamiania rzeczy jest na nowo? Co stało się ze starym, dobrym Xsessionem? :(
Phil Frost
Ktoś proszę sprawdzić to pod kątem nowszych wersji Ubuntu / Debian / GNOME.
George Sovetov
W Ubuntu 17.10 (GNOME Wayland) nie można już zrestartować GNOME. Zobacz superuser.com/q/1164174/174311 . Służy gnome-keyring-daemon -r -c pkcs11,secretsdo wyłączania go w bieżącej sesji.
George Sovetov
Nadal działa z Debianem 9 (stretch).
Marc Wrobel
2

Dobry, czysty sposób na wyłączenie tylko komponentu ssh-agent w gnome-kerying:

gconftool-2 --set --type bool /apps/gnome-keyring/daemon-components/ssh false
Oren Tirosh
źródło
2
To wydaje się nie działać, przynajmniej jeszcze nie. Czy wymaga GNOME 3.14 lub 3.16 lub gnome-keyring-daemon 3.12+?
andlabs,
3
Czy ktoś wie, co to jest wersja powyższego polecenia Ubuntu 16.04?
Scott Stensland
2

Nie mogę mówić o wydaniach Ubuntu innych niż Trusty - a GNOME jest tak ciągle zmieniającym się celem, że możesz zagwarantować, że każde wydanie będzie inne - ale to jest to, co najbardziej niezawodnie działa:

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

Sesja uruchamiania przynajmniej w Unity, a prawdopodobnie także GNOME3, jest dziwna: uruchomi skrypty Upstart, /usr/share/upstart/sessions/a następnie uruchomi wszystkie wpisy pulpitu autostartu pod /etc/xdg/autostarti gnome-keyring, i wiele innych rzeczy jest w obu (i prawdopodobnie uruchamia różne rzeczy w /usr/share/upstart/xdg/autostart, zbyt; nie testowałem tego).

gnome-keyring-sshWpis dorobkiewicz sprawdzi tej X-GNOME-Autostart-enabled=falselinii w obu systemu lub użytkownika lokalnego wpisu .desktop i z powrotem, po czym średnia ssh-agentsesja będzie działać. Wówczas system gnome-keyring-sshuruchomi się, /etc/xdg/autostartchyba że masz odpowiedni wpis w lokalnym autostartie użytkownika, w którym to przypadku zostanie on uruchomiony.

Kiedyś wystarczyło mieć tę enable=falselinię w lokalnym autostartie, ale jakiś czas temu (jak w maju 2016 r., Ponad dwa lata po okresie LTS Trusty) to zachowanie się zmieniło i potrzebujesz czegoś przypominającego pełny wpis. Nadal badam dokładny zestaw niezbędnych kluczy, a odpowiedzialna aktualizacja pakietu jest odpowiedzialna.

Nikt nie zgaduje, dlaczego ludzie GNOME nie tylko pośredniczyli przez pośrednika kluczowego agenta OpenSSH . Możesz zasugerować, aby przyjęli bardziej rozsądne zachowanie w tym wpisie Bugzilli .

John Morton
źródło
Ten link wydaje się sugerować, że użycie X-GNOME-Autostart-enabled = false, jest przestarzałe. W każdym razie wygląda na to, że właściwość Ukryty opisana w standardzie autostartu zapewnia tę samą funkcjonalność. Użyj ukrytego = true. gist.github.com/najamelan/b44e943145b03e018229
nomadrc
2

Zawsze kończę odinstalowywanie gnome-keyring

sudo apt-get remove gnome-keyring

Okazuje się, że jeśli używasz wielu kluczy (więcej niż trzech), tak naprawdę nie możesz zalogować się do hostów, które ograniczają próby do trzech ... Ponadto, gnome-keyringnazywaj klucze inaczej niż podczas używania ssh-add, więc nie wiem, jakiego hasła użyć .

Odinstalowanie gnome-keyringmoże zepsuć wiele rzeczy na GNOME, nie wiedziałbym, kiedy używam Kubuntu. Na Kubuntu wszystko, co dodatkowo znika, to python-ubuntu-sso-clienti ubuntu-sso-client.

kaleissin
źródło
1
Przepraszam za późną odpowiedź. Tak myślałem, że zrobiłem, kiedy miałem Kubuntu (zajęło mi to trochę czasu, aby to rozgryźć), ale teraz nie jestem tego taki pewien. Jak na razie, choć od kluczy jest częścią GNOME, usuwając że usunęłaby ubuntu-gnome-desktopi kilka innych pokrewnych składników ( oneconf, python-ubuntu-sso-client, seahorse, software-center, i ubuntu-sso-client, nie licząc oprogramowanie staje autoremove kandydatów w wyniku): / Dzięki mimo; Będę głosować, ponieważ pomoże to użytkownikom spoza GNOME, którzy przypadkowo skończą w takiej sytuacji, jak ja.
andlabs,
0

Potwierdzam, że skrypt

#!/usr/bin/python
import gnomekeyring
gnomekeyring.unlock_sync(None,"mypassword");

rozwiązuje problem w 16.04, amd64. Skrypt można zapisać jako ukr.py, a chmod +x ukr.pynastępnie dodać ukr.pyjako aplikację startową w gnome-session-properties. (Dodatkowy) moduł gnomekeyringjest instalowany przez

sudo apt-get install python-gnomekeyring
dzmanto
źródło
0

Najprostszym sposobem jest po prostu zastąpienie istniejącej sesji gnome-keyring-daemon za pomocą polecenia:

gnome-keyring-daemon --replace --daemonize --components=pkcs11,secrets,gpg

Możesz zobaczyć moją pełną odpowiedź w tym temacie https://askubuntu.com/a/786722/556814

rioastamal
źródło