irytujący komunikat „Połączenie X11 odrzucone z powodu złego uwierzytelnienia”, podczas gdy w ogóle nie ma problemu

15

Mam irytujący problem.

Gdy loguję się do określonego hosta przez SSH, komunikat

X11 connection rejected because of wrong authentication.

występuje trzy razy pozornie losowo mniej więcej raz na minutę. Nie mam pojęcia, skąd pochodzi.

W rzeczywistości nie ma nawet najmniejszego problemu z przekazywaniem X11, działa jak urok. Ale ta wiadomość ciągle się pojawia i doprowadza mnie do szału.

Czy ktoś ma pomysł, jak się go pozbyć?

Mam do czynienia z problemem bez względu na to, skąd pochodzę, dzieje się to z mojego pulpitu Gnome, a także z systemu Windows używającego PuTTY, MobaXterm, Cygwin, cokolwiek.


Po kręceniu jeszcze trochę znalazłem przyczynę, że jestem agentem monitorującym (check_mk). Sprawdza to niektóre parametry wykonawcze uruchomionych zadań, komunikat pojawia się za każdym razem, gdy agent jest uruchamiany z systemu monitorowania, dokładnie wtedy, gdy sprawdzany jest status PostgreSQL. Wygląda na to, że ten proces próbuje otworzyć połączenie X11, ale kończy się niepowodzeniem. Wiadomość jest następnie wypluwana do mojej sesji terminalu, gdy próbowała użyć mojej przesłanej sesji X11.

Czy jest jakiś sposób na wyłączenie tej wiadomości?

chrześcijanin
źródło

Odpowiedzi:

21

Upewnij się, że nie zabrakło Ci miejsca na dysku

Uruchom df i upewnij się, że masz wystarczającą ilość miejsca na dysku, jeśli masz mało miejsca na dysku, usuń niepotrzebne pliki z systemu:

$ df -h

Jeśli na systemy plików nałożone są limity, sprawdź, czy nie przekroczyłeś limitu:

$ quota -s

Upewnij się, że ~ / .Xauthority jest Twoją własnością

Uruchom następujące polecenie, aby znaleźć własne:

$ ls -l ~/.Xauthority

Uruchom chown i chmod, aby naprawić problemy z uprawnieniami [zastąp user: group rzeczywistą nazwą użytkownika i nazwą grupy]:

$ chown user:group ~/.Xauthority
$ chmod 0600 ~/.Xauthority

Upewnij się, że przekazywanie SSHD X11 jest włączone

Upewnij się, że w pliku sshd_config istnieje następujący wiersz:

$ grep X11Forwarding /etc/ssh/sshd_config

Przykładowe dane wyjściowe:

X11Forwarding yes

Jeśli X11 jest wyłączone, dodaj następujący wiersz do sshd_cofing i zrestartuj serwer ssh:

X11Forwarding yes

Upewnij się, że przekazywanie klientów X11 jest włączone

Upewnij się, że twój lokalny ssh_config ma następujące linie:

Host *
ForwardX11 yes

Na koniec zaloguj się do zdalnego serwera i uruchom X11 w następujący sposób z systemu Mac OS X lub Linux:

ssh -X [email protected]

Kredyt na informacje należy tutaj: http://www.cyberciti.biz/faq/x11-connection-rejected-because-of-wrong-authentication/

Mam nadzieję, że to pomaga.

diabelnie
źródło
Przeczytałem to, ale ponieważ tak naprawdę nie ma problemu z uruchomieniem aplikacji X11, te kroki nie były możliwe. Jednak w międzyczasie znalazłem przyczynę problemu i zaktualizuję ją teraz.
Christian
Jak wspomniano, nie ma to znaczenia w tym przypadku. Problemem nie jest to, że moja próba przekazania połączenia X11 kończy się niepowodzeniem. Problem polega na tym, że inny użytkownik próbuje użyć mojego X11-Forwarding i że wiadomość jest wypluwana do mojej aktywnej sesji terminala, czego nie chcę. Pytanie brzmi „Czy w ogóle można wyłączyć tę wiadomość?”.
Christian
Zaktualizowałem swoją odpowiedź dla użytkownika, który ją poprosił, a następnie usunąłem jego komentarz. W przypadku pytania spróbuj wyłączyć dostęp do ściany wszystkim użytkownikom oprócz root (zakładając, że proces nie jest uruchamiany przez użytkownika root): $ sudo chmod gs / usr / bin / wall $ echo foo | ściana
devnull
Wydałem „mesg n”, co tłumi komunikaty ścienne, ale wciąż otrzymywałem te :(
Christian
Jeśli ten proces jest wykonywany przez roota, zrobiłbyś to. Korzeń nie może być zniesiony. W takim przypadku utwórz „monitor” lub cokolwiek innego użytkownika i przenieś monitorowanie, które ma zostać wykonane przez tego użytkownika, a wtedy nie zobaczysz już tych komunikatów, ponieważ nie będą one pochodziły z katalogu głównego.
devnull
4

Może to być niezaufany limit czasu przesyłania X11. Korzystanie z ForwardX11Timeoutopcji z dużym limitem czasu może pomóc, jak sugerowano w https://bugzilla.mindrot.org/show_bug.cgi?id=1718 (Mam ten problem w przeszłości, ale IIRC zniknął po pewnej aktualizacji).

vinc17
źródło
Niestety nie, także kiedy jawnie ustawić ForwardX11Trusted yesw /etc/ssh_config.
Christian
2

Jeśli masz funkcję wymuszania SELINUX, a twój katalog domowy nie znajduje się w katalogu / home, to jest twój problem. Ukierunkowane ustawienia SELINUX zakładają, że wszystkie katalogi domowe użytkownika znajdują się w katalogu / home, więc xauth nie działa poprawnie, ponieważ typ SELINUX w katalogu domowym jest nieprawidłowy. Chciałbym móc polecić poprawkę, ale ta, którą znalazłem, nie działała. Ustawiłem SELINUX na pozwolenie na obejście tego problemu.

Fred
źródło
0

Zainstaluj XQuartz na komputerze Mac, jeśli to konieczne, i zaloguj się bezpośrednio z użytkownikiem. Przykład - podczas instalacji oracledb próbowałem zalogować się przy użyciu roota, a następnie uruchomiłem polecenie użytkownika oracle po sudo su - oracle.

Zaloguj się bezpośrednio za pomocą oracle ssh -X oracle @ nazwa_hosta

Ritesh Chaman
źródło