xauth nie tworzy pliku .Xauthority


28

Kiedy ssh do bezgłowego systemu Linux Mint 17, nie tworzy aktualizacji / pliku .Xauthority.

Ponadto po uruchomieniu xauthotrzymuję odpowiedź:

marty@N40L ~ $ xauth
xauth:  file /home/marty/.Xauthority does not exist
Using authority file /home/marty/.Xauthority
xauth>exit
marty@N40L ~ $ xauth
xauth:  file /home/marty/.Xauthority does not exist
Using authority file /home/marty/.Xauthority
xauth>

Nie tworzy pliku.

EDYTOWAĆ:

Kiedy podłączam monitor, a następnie loguję się lokalnie, plik jest tworzony, ale kiedy próbuję dodać wpis (ponieważ mój SSH nie robi tego dla mnie):

marty@N40L ~ $ xauth list
N40L/unix:0  MIT-MAGIC-COOKIE-1  34eee3b15cdb281021502d40dfba1cf2
localhost.localdomain/unix:0  MIT-MAGIC-COOKIE-1  34eee3b15cdb281021502d40dfba1cf2
marty@N40L ~ $ ls -d .X*
-rw------- 1 marty marty 115 Sep  3 12:03 .Xauthority
marty@N40L ~ $ xauth generate $DISPLAY .
PuTTY X11 proxy: wrong authorisation protocol attemptedxauth: (argv):1:  unable to open display "localhost:10.0".

Nawiasem mówiąc, robienie netstat --listenpokazu słuchania portu:

tcp 0 0 localhost:6010 *:* LISTEN

AGH, więcej informacji. Wylogowałem się z sesji X na serwerze, a teraz plik .Xauthority zniknął. Wygląda na to, że plik jest tam TYLKO po zalogowaniu lokalnym. Czy ktoś może mi powiedzieć, dlaczego lub jak to naprawić?

NOWY ROZWÓJ:

W systemie stworzyłem dziewiczego użytkownika o nazwie „test”. Następnie zalogowałem się i bez ŻADNYCH innych poleceń uruchomiłem xeyes. Który działał! Więc TYLKO użytkownik „marty” nie może xforward. Jak skopiować ustawienia z testu na Marty?


Czy powiedziałeś mu, aby utworzyć plik? ssh -Xumożliwia przekazywanie X11.
— user1686

Tak, używam Putty w systemie Windows, konfiguracja do przekazywania (działa po podłączeniu do innego serwera Mint). Ale plik nie został utworzony, więc pomyślałem, że dodam go ręcznie, xauth też nie utworzy go ręcznie.
— wkdmarty

Lokalne Xwindows tworzy plik .Xauthority, ale sesja Putty SSH nie. Mimo że pokazuje, że nasłuchuje połączenia.
— wkdmarty

Odpowiedzi:


34

Żeby zgłosić, miałem podobny problem. Ale w moim przypadku po prostu wykonuję następujące kroki :

Wykonaj następujące kroki, aby utworzyć $HOME/.Xauthorityplik.

Zaloguj się jako użytkownik i potwierdź, że znajdujesz się w katalogu osobistym użytkownika.

# Rename the existing .Xauthority file by running the following command
mv .Xauthority old.Xauthority 

# xauth with complain unless ~/.Xauthority exists
touch ~/.Xauthority

# only this one key is needed for X11 over SSH 
xauth generate :0 . trusted 

# generate our own key, xauth requires 128 bit hex encoding
xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom)

# To view a listing of the .Xauthority file, enter the following 
xauth list 

Od tego .Xauthoritymomentu nie ma już problemów z plikiem.

Dzięki i podziękowania dla srinivasan .


1
w moim przypadku miałem zmienną środowiskową XAUTHORITY wskazującą na coś innego (nieostrożny błąd), używając tego [ prefetch.net/blog/index.php/2011/11/01/… wątku byłem w stanie to odkryć i rozwiązać błąd. Za pomocą strace xauthwskazał niepoprawną ścieżkę określoną w zmiennej. Powinienem również dodać, że otrzymywałem błędy blokowania aswel, między innymi
— Cybex

1
W moim przypadku musiałem wykonać tylko kroki od 1 do 3. W krokach 4 i 5 faktycznie nie działało.
— Richard Ayotte

Muszę zrobić xauth generate :0 . trustedpo każdym poleceniu, useraby otworzyć ekran jako root. Czy mogę to naprawić?
— Timo,

xhost +pomógł otworzyć x-aplikacje jako root.
— Timo,

7
krok 3 daje mi błąd:xauth: (argv):1: unable to open display ":0".
— simpleuser

4

Wystarczy uzupełnić doskonałe tony „s odpowiedź .

Kiedyś miałem dokładnie ten sam problem, ponieważ mój katalog domowy został zapełniony w 100%. Po połączeniu sshutworzył pusty ~/.Xauthorityi nie był w stanie napisać do niego żadnego pojedynczego wpisu (tak, że xauth listzawsze produkował pusty wynik).

Sugeruję więc, aby zawsze sprawdzać wolne miejsce (np . df -h:) i weryfikować to xauth generatei xauth addrzeczywiście miało jakikolwiek efekt ( xauth list).


1

Po odkryciu, że to nie był system, dodając użytkownika testowego (którego przekierowanie x działało „po wyjęciu z pudełka”), pomyślałem, że zacznę kopiować pliki startowe .bash *, aby virginise „zepsutego” użytkownika.

Żaden z plików nie był inny, więc następnie usunąłem katalog .ssh użytkowników. Kiedy się zalogowałem, narzekałem: „Serwer odmówił naszego klucza”, ale mogłem się zalogować za pomocą hasła. Po zalogowaniu mogłem x przesyłać dalej idealnie.

Spróbuję teraz ponownie skonfigurować klucz i sprawdzić, czy mogę go uruchomić. Potem wróci do normy.


1

Przeniesienie .sshkatalogu na bok sprawiło, że przekazywanie X działało dla mnie.

Poprzez proces eliminacji znalazłem plik w ~ / .ssh, który nazywał się „rc” i zawierał:

echo "Wecome to $(hostname), $(whoami)"

Nigdy tego nie stworzyłem i nie mam pojęcia, skąd się wziął. Usunięcie go naprawili problem, i moje authorized_keys, known_hostsi kluczowe pliki wszystko może pozostać nienaruszone.


1

W ramach uprawnień roota otwórz /etc/ssh/sshd_configi odkomentuj następujące wiersze, jeśli są komentowane:

X11 Przekazywanie tak

X11DisplayOffset 10

X11UseLocalhost tak

Następnie wyloguj się i zaloguj ponownie z -Xflagą ssh. Nie musisz ustawiać ani wyłączać DISPLAYzmiennej środowiskowej.


0

Ten sam problem napotkałem na dwóch serwerach, które technicznie były węzłami siostrzanymi. Ból w ogonie, ponieważ nie mogłem zrozumieć, co było inne. Okazuje się, że katalog / home był pełny, więc pliki .Xauthority nie mogły się poprawnie zapełnić. Po zlokalizowaniu plików zajmujących zbyt dużo miejsca i wyczyszczeniu ich nowe pliki .Xauthority zostały poprawnie utworzone.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.