Ich habe einen Heim- und einen Arbeitscomputer, der Heimcomputer hat eine statische IP-Adresse.
Wenn ich von meinem Arbeitscomputer zu meinem Heimcomputer sshe, funktioniert die ssh-Verbindung, X11-Anwendungen werden jedoch nicht angezeigt.
In meinem /etc/ssh/sshd_config
zu Hause:
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
Bei der Arbeit habe ich folgende Befehle ausprobiert:
xhost + home HOME_IP
ssh -X home
ssh -X HOME_IP
ssh -Y home
ssh -Y HOME_IP
Meine /etc/ssh/ssh_config
bei der Arbeit:
Host *
ForwardX11 yes
ForwardX11Trusted yes
Meine ~/.ssh/config
bei der Arbeit:
Host home
HostName HOME_IP
User azat
PreferredAuthentications password
ForwardX11 yes
Meine ~/.Xauthority
bei der Arbeit:
-rw------- 1 azat azat 269 Jun 7 11:25 .Xauthority
Mein ~/.Xauthority
zu Hause:
-rw------- 1 azat azat 246 Jun 7 19:03 .Xauthority
Aber es geht nicht
Nachdem ich eine SSH-Verbindung nach Hause hergestellt habe:
$ echo $DISPLAY
localhost:10.0
$ kate
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
kate: cannot connect to X server localhost:10.0
Ich benutze iptables
zu Hause, aber ich habe Port 22 zugelassen. Entsprechend dem, was ich gelesen habe, ist das alles, was ich brauche.
UPD.
Mit-vvv
... debug2: callback start debug2: x11_get_proto: / usr / bin / xauth list: 0 2> / dev / null debug1: Fordert eine X11-Weiterleitung mit Authentifizierungs-Spoofing an. debug2: channel 1: request x11-req confirm 1 debug2: client_session2_setup: id 1 debug2: fd 3 setzt TCP_NODELAY debug2: channel 1: Anfrage pty-req confirm 1 ...
Beim Versuch zu starten kate
:
debug1: client_input_channel_open: ctype x11 rchan 2 win 65536 max 16384 debug1: client_request_x11: request from 127.0.0.1 55486 debug2: fd 8 setze O_NONBLOCK debug3: fd 8 ist O_NONBLOCK debug1: channel 2: new [x11] debug1: bestätige x11 debug2: Die X11-Verbindung verwendet ein anderes Authentifizierungsprotokoll. X11-Verbindung wegen falscher Authentifizierung abgelehnt. debug2: X11 lehnte 2 i0 / o0 ab Debug2: Kanal 2: Lesen fehlgeschlagen debug2: channel 2: close_read Debug2: Kanal 2: Eingang offen -> Drain debug2: kanal 2: ibuf leer debug2: channel 2: send eof Debug2: Kanal 2: Input Drain -> geschlossen Debug2: Kanal 2: Schreiben fehlgeschlagen debug2: channel 2: close_write Debug2: Kanal 2: Ausgang offen -> geschlossen debug2: X11 hat 2 i3 / o3 geschlossen debug2: channel 2: send close debug2: kanal 2: rcvd schließen Debug2: Kanal 2: ist tot debug2: kanal 2: müll sammeln debug1: channel 2: free: x11, nchannels 3 debug3: channel 2: status: Die folgenden Verbindungen sind offen: # 1 Client-Sitzung (t4 r0 i0 / 0 o0 / 0 fd 5/6 cc -1) # 2 x11 (t7 r2 i3 / 0 o3 / 0 fd 8/8 cc -1) # Das Gleiche wie oben, ca. 7-mal wiederholen kate: kann keine Verbindung zum X-Server herstellen localhost: 10.0
UPD2
Bitte geben Sie Ihre Linux Distribution & Versionsnummer an.
Verwenden Sie eine standardmäßige GNOME- oder KDE-Umgebung für X oder etwas anderes, das Sie selbst angepasst haben?
azat: ~ $ kded4 -version Qt: 4.7.4 KDE-Entwicklungsplattform: 4.6.5 (4.6.5) KDE-Daemon: $ Id $
Rufen Sie ssh direkt über eine Befehlszeile von einem Terminalfenster aus auf?
Welches Terminal benutzen Sie? xterm, gnome-terminal oder?
Wie haben Sie das Terminal in der X-Umgebung gestartet? Aus einem Menü? Hotkey? oder ?
Vom Terminalemulator `yakuake` Drücken Sie manuell "Strg + N" und schreiben Sie Befehle
Können Sie xeyes über dasselbe Terminalfenster ausführen, in dem ssh -X fehlschlägt?
`xeyes` - ist nicht installiert Aber `kate` oder eine andere kde App läuft
Rufen Sie den Befehl ssh als der Benutzer auf, unter dem Sie in der X-Sitzung angemeldet sind?
From the same user
UPD3
Ich lade auch ssh
Quellen herunter und benutze debug2()
write, um zu melden, dass die Version unterschiedlich ist.
Es werden einige Cookies angezeigt, von denen eines leer ist und eines leer istMIT-MAGIC-COOKIE-1