Właśnie zaktualizowałem swój system Ubuntu z 15.10 do 16.04, całkowicie usuwając partycję Ubuntu 15 z mojego systemu.
Po zainstalowaniu Ubuntu 16.04 odtworzyłem moje klucze ssh, gdy zapomniałem je wykonać, ale za każdym razem, gdy próbuję użyć ssh, dostaję sign_and_send_pubkey: signing failed: agent refused operation
to nieco denerwujące, ponieważ pozwala mi przejść do mojego serwera ssh, ale git odmawia wypychania kodu za pomocą ssh.
Już pchnąłem klucze do serwera za pomocą ssh-copy-id
.
Serwer, z którym się łączę, to serwer Ubuntu 16.04 uaktualniony za pomocą do-release-upgrade
polecenia. Każda pomoc będzie mile widziana.
l
.L
czcionki „Liberation Mono” :-(ssh-add
innego niż używać,ssh-add -l
ponieważ możesz skończyć z zbyt dużą liczbą wpisów wssh-agent
. Nie ma potrzeby ręcznego dodawania.Dash > Startup Applications
pokazuje, żessh-agent
jest już uruchomiony i automatycznie wykryje pliki takie jak~/.ssh/id_rsa
i~/.ssh/id_rsa.pub
. Aby to udowodnić, możesz użyćssh-add -l
przed i po użyciussh-keygen
. Zobaczysz, że monitoruje pliki, więc nie musisz dodawać ich ręcznie.ssh-add -d
issh-add -D
nie usuwaj ręcznie. Wystarczy usunąć pliki kluczy~/.ssh/id_rsa
i~/.ssh/id_rsa.pub
orazssh-agent
zawiadomienie woli. Aby udowodnić, że możesz to zrobićssh-add -l
przed i po usunięciu plików kluczy.Proste rozwiązanie
Miałem ten sam problem na Ubuntu 18.04. To wszystko dotyczy uprawnień klucza prywatnego po stronie klienta .
Uprawnienia do plików były zbyt otwarte (0644).
Następujące polecenie rozwiązało to:
źródło
Miałem ten sam problem (te same objawy)
... ale rozwiązanie było inne.
Problem pochodził z używania GNOME-KEYRING. Post dotyczący rozwiązania można przeczytać tutaj .
W skrócie:
Strona zawiera inne szczegóły w przypadku podobnego problemu z innym rozwiązaniem.
źródło
Permissions 0775 for '.ssh/id_rsa' are too open
. Prostym rozwiązaniem było tutajchmod 600 .ssh/id_rsa
.SSH_AUTH_SOCK=0
wcześniejgit pull
i dostał ostrzeżenie o uprawnieniach, takie jak Matt.Dostawałem się
sign_and_send_pubkey: signing failed: agent refused operation
podczas logowania na kilka serwerów, przeczytałem odpowiedź VonC na temat Przepełnienia stosu, aby uzyskać więcej informacji na temat powiązanych błędów, rozwiązaniem było dla mnie usunięcie klucza gnome, usunięcie tożsamości z ssh-agent i ponowne uruchomienie.Potem wszystkie moje klucze zaczęły działać idealnie.
AKTUALIZACJA:
Tymczasowe rozwiązanie bez odinstalowywania kluczy
Jeśli chcesz zachować gnome-keyring i masz
agent refused operation
błąd, użyj:albo użyj
SSH_AUTH_SOCK=0 ssh your-server
Trwałe rozwiązanie bez odinstalowywania kluczy
Jeśli możesz, gnome-keyring jest kompatybilny z 4096-bitowym kluczem RSA, więc po prostu wygeneruj nowy klucz z:
Prześlij klucz publiczny na serwer
Dodaj klucz ssh do agenta
Powinno to działać bez żadnych dodatkowych włamań, a breloczek do gnome może pozostać zainstalowany.
(Opcja -C [nazwa użytkownika] jest opcjonalna, ale wymagana przez dostawców takich jak Google Cloud)
źródło
ssh-agent
. Nadal możesz uruchomić ssh-agent i wprowadzić hasła klucza prywatnego w konsoli / powłoce.Po aktualizacji do Ubuntu 18.04 otrzymałem ten sam błąd
sign_and_send_pubkey: signing failed: agent refused operation
. Okazuje się, że było to spowodowane zbyt otwartymi uprawnieniami klucza ssh. Poniższe polecenie naprawiło problemchmod 600 .ssh/id_rsa
źródło
W moim systemie (także Ubuntu 16.04, próbującym połączyć się z githubem) miałem plik id_ed25519 w moim folderze .ssh, który spowodował błąd
ssh-add
:Po usunięciu plików
~/.ssh/id_ed25519*
(już ich nie potrzebowałem, to z wcześniejszego testu) wszystko poszło dobrze.źródło
Could not add identity "~/.ssh/id_ed25519": communication with agent failed
agent działa i jest skonfigurowany tak dalece, jak mogę.ssh-agent
gniazda. Zwykły agent ssh jest w stanie obsłużyć klucze ED25519, podczas gdy agent uwierzytelniania gnome nie jest (oprócz innych problemów, które powoduje). Zobacz odpowiedź sam askubuntu.com/a/835114/167846 lub Mike askubuntu.com/a/762968/167846Zdarzyło mi się, ponieważ mój klucz prywatny miał hasło. Musiałem uruchomić,
ssh-add
a następnie poprosił o hasło i dodano poprawnie. Jednak teraz nie prosi o moje hasło podczas wysyłania do komputera.źródło
Mam nową instalację Ubuntu16.04 i napotkałem podobne problemy. Kiedy próbowałem sklonować moje repozytorium z Github po skopiowaniu mojego klucza publicznego do github (zgodnie z instrukcjami na github.com ) i po przeprowadzeniu następującej kontroli ( zalecane na github.com ):
Zostałem powitany przez:
Aby to naprawić szybko, bez usuwania czegokolwiek lub zmiany konfiguracji uruchamiania, po prostu wpisałem w terminalu:
Potem klon zadziałał. Następnie ponownie uruchomiłem zatrzymanego demona, wpisując:
Później, aby zmienić rzeczy w bardziej trwały sposób, skorzystałem z porady tutaj
źródło
Po aktualizacji Fedory 26 do 28 napotkałem ten sam problem. I żadnych plików dziennika
komunikat o błędzie nie wskazuje rzeczywistego problemu. Problem rozwiązany przez
źródło
Dodanie komentarza, ponieważ miałem ten sam problem z kluczami ed25519. Problem jest rzeczywiście kluczem do gnoma. Aby to naprawić, wykonałem następujące czynności:
ssh-agent -s
)źródło
Jest koniec 2018 roku, a ten błąd lub jego odmiany nadal nękają Xubuntu 16.04 i bardziej niż prawdopodobne inne smaki Xenial. Nie zdziwiłbym się, gdyby istniał również w 18.04! Jest w jakiejś formie od 2009 roku i Karmic Koala. Wpłynął na Redhat, Debian i Ubuntu. Nie wierz mi na słowo, zobacz publiczne narzędzia do śledzenia błędów:
https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/470456
Przy tym błędzie znajdziesz również listę pozostałych 3:
Bibliografia:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523322
https://bugzilla.redhat.com/show_bug.cgi?id=508286
https://bugzilla.gnome.org/show_bug.cgi?id=576700
W moim przypadku najbardziej oczywistym objawem była niemożność użycia kluczy ssh z hasłami. Może to również wpłynąć na te bez nich, ponieważ awaria uniemożliwia ładowanie kluczy SSH! I nie miałem problemów z uprawnieniami, wszystko było kluczem od gnome. Moje klucze (tak, odmówiono kilku, dla różnych serwerów SSH!) Wszystkie miały uprawnienia 600 (rw dla właściciela, nic dla grupy lub inne), jak podano w wielu odpowiedziach na ten temat. Nic więc nie mogłem tam zmienić.
W Xubuntu istnieje sposób na wyłączenie elementów startowych. Zwykle jest to również możliwe w Unity / Gnome / KDE, ale nie mam tych zainstalowanych, więc nie mogę podać konkretnych kroków. Nie jestem pewien innych komputerów stacjonarnych. Zamiast wyłączać agenta SSH, agenta GPG i inne elementy Gnome, które powodują to i inne powiązane błędy, wyłączyłem wszystkie elementy startowe Gnome. Dla niektórych może to być przesada lub nie, ale SSH powraca do bezbłędnego działania przy następnym restarcie!
Zrzut ekranu z GUI opisanym powyżej:
Ponieważ więc podałem powyższą poprawkę, mam nadzieję, że ktoś ją naprawi.
Ubuntu okazało się, że nie udało się go zgnieść na dobre, ponieważ istnieje wiele biletów na kilka wydań, które twierdzą, że jest naprawiony, a więcej, które mówią „regresja”, wróciło.
Debian prawdopodobnie chce się obijać (umyć ręce), ponieważ to nie oni, na górze jest Gnome.
Redhat prawdopodobnie ma poprawkę dostępną tylko dla płacących klientów. Ponieważ historycznie Redhat jest największym pracodawcą opłacanych programistów Gnome, co na pierwszy rzut oka jest hojne. Dopóki nie zrozumiesz, że oznacza to, że mają oni motywację finansową, aby nigdy nie umieszczać takich poprawek w darmowych wersjach, aby nadal sprzedawać subskrypcje Redhat.
Gnome jest prawdopodobnie tymi, którzy mogą to naprawić najłatwiej, a następnie inni mogą testować i pakować, bez pisania linii kodu. Ale bilety, które czytam, mówią, że paczka wygasła od lat bez oficjalnego opiekuna! Dwie osoby, które teraz to robią dobrowolnie (dziękuję), są prawie tak samo zajęte projektowaniem zamiennika. Dlaczego nie naprawić płaskiej opony, nawet jeśli zajmuje to rok (minęła dekada!) Zamiast wymyślać najpierw koło ?!
źródło
pracuje dla mnie. Ale bądź pewien
biegnie.
źródło
W moim przypadku problem został spowodowany przez GNOME Keyring. Aby wyłączyć możliwości SSH gnome-keyring bez bezpośredniego usuwania go (co psuje wiele rzeczy), postępuj zgodnie z tymi instrukcjami :
i zrestartuj sesję. Teraz możesz uruchomić ssh-agent bez ingerencji w gnome-keyring.
źródło
Próbowałem kilku rzeczy, między innymi ssh-add, resetowanie SSH (usuwanie .ssh / na serwerze itp.), Ale bez powodzenia. Więc okazało się, że musiałem się nad tym przespać przez jedną noc. Pomogło! Dlaczego? „Wydaje mi się, że ssh-agent działający na serwerze miał coś w pamięci podręcznej, która została odświeżona później tej nocy z właściwymi teraz wartościami. W każdym razie działa teraz jak urok. Podsumowując, zrobiła to (Ubuntu 16.04 na localhost, 14.04 na serwerze).
źródło
Skończyło się upuszczanie mojego znanego pliku hosts i zadziałało. Musiałem ponownie wprowadzić hasło, ale w końcu zaakceptowało prawidłowe hasło. To było po nowej instalacji.
źródło
Jeśli dodanie SSH_AUTH_SOCK = 0 przed komendą ssh pomaga, oznacza to, że gnome to błąd klucza. Z wyjątkiem dostarczonych rozwiązań i problemów, problem może być związany z hasłem. Jeśli masz hasło do klucza, wówczas gnome keyring pyta o to przy pierwszym logowaniu, a jeśli wprowadzisz puste z winy lub nieoczekiwanie zamykając okno, gnome przyjmuje je jako puste hasło i pamięta je na zawsze. Nic nie pomaga w ponownym monitowaniu o hasło. Aby rozwiązać otwartą aplikację kluczy SSH i przejdź do sekcji Logowanie w kategorii Hasła. Znajdź rekord odpowiadający problematycznemu kluczowi i przejdź do Właściwości i wprowadź poprawne hasło.
źródło
Jest jeszcze jedna przyczyna, na którą nie ma jeszcze odpowiedzi: format PEM dla pliku kluczy przestał być domyślny,
ssh-keygen
zanim Ubuntu przeniósł się dognome-keyring-daemon
formatu obsługującego nowy format RFC4716.Jeśli wygenerujesz nowy klucz lub dodasz / usuniesz hasło z klucza, może się on złamać. Klawisz jest używany
ssh-keygen -m PEM
przed jakąkolwiek inną operacją, którą musisz uruchomić. Na przykład, możesz przekonwertować z powrotem na stary format, używającssh-keygen -m PEM -p
i wprowadzając stare hasło jako nowe hasło (które byłoby puste bez hasła).źródło