Mountain Lion ssh -X masalah

8

Bagaimana cara menjalankan penerusan Mountain Lion X11 melalui SSH?

Contoh:

ssh -X [email protected] xterm

/ etc / sshd_config saya miliki

X11Forwarding yes
#X11DisplayOffset 10
X11UseLocalhost yes

# XAuthLocation added by XQuartz (http://xquartz.macosforge.org)
XAuthLocation /opt/X11/bin/xauth

Restart sshd dengan

launchctl stop com.openssh.sshd
launchctl start com.openssh.sshd

(dan dari Preferensi -> Berbagi juga)

Memulai XQuatrz, dan dari xterm saya jalankan

ssh -v -X [email protected] xterm        #this part not works :)

dapatkan yang berikutnya:

debug1: Authentication succeeded (keyboard-interactive).
Authenticated to 192.168.1.17 ([192.168.1.17]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending command: xterm
debug1: Remote: No xauth program; cannot forward with spoofing.
X11 forwarding request failed on channel 0
xterm: Xt error: Can't open display: 
xterm: DISPLAY is not set
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2656, received 2480 bytes, in 0.1 seconds
Bytes per second: sent 29582.4, received 27622.1
debug1: Exit status 1

dari xterm

$ echo $DISPLAY
/tmp/launch-BHtJfJ/org.macosforge.xquartz:0

mengubahnya menjadi :0tidak membantu

berlari dari xterm

$ xauth list
jonatan.local/unix:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2
192.168.1.9:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2
jonatan.local:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2

Ada ide?

jm666
sumber
Bisakah Anda memperjelas bagian mana yang tidak berfungsi untuk Anda?
Demure
@demure Bahasa Inggris saya tidak cukup baik, saya berharap dari kesalahan pengukuran cukup jelas. Tapi ok, menambahkan komentar pada pertanyaan, untuk menunjukkan apa yang tidak berhasil. Atau lebih tepatnya, tidak bekerja tunneling X-protokol via ssh karena beberapa alasan aneh. Mungkin xauth. Terima kasih atas minatnya. :)
jm666

Jawaban:

8

Anda perlu membuka XQuartz, buka X11PreferensiKeamanan , ada dua kotak centang: nonaktifkan yang pertama, aktifkan yang kedua. Mulai ulang XQuartz dan coba lagi. Anda juga perlu mendefinisikan $DISPLAYvariabel seperti ini:

export DISPLAY=clienthost:0.0
Andreu
sumber
Sementara itu saya menemukan masalah ada di sisi lain - bukan di OS X.; Terima kasih +1.
jm666
@ jm666, Andreu Saya memiliki masalah yang sama dan solusi ini tidak berhasil untuk saya, # jm66 dapatkah Anda membagikan pengalaman Anda dalam menyelesaikan masalah ini.
math137
Apa clienthost?
Jonathan
1

Tidak yakin bagaimana ini bisa terjadi, tetapi dari sumber SSH tempat pesan kesalahan muncul:

/* Try to open a socket for the local X server. */
display = getenv("DISPLAY");
if (!display) {
    error("DISPLAY not set.");
    return -1;
}

Ini menunjukkan bahwa memang ssh berpikir variabel tersebut tidak disetel sama sekali (yaitu tidak cacat atau sesuatu, tetapi hilang).

Saya tidak yakin apakah SSH mengubah konteks pengguna sehingga mendapat lingkungan yang berbeda. Anda dapat mencoba

ssh -vvv ....

(multiple "v") untuk mendapatkan lebih banyak output debug, mungkin ini memberikan petunjuk di suatu tempat di startup.

Terminalitas
sumber
wow - ide bagus beberapa vvv - akan memeriksa. Terima kasih :)
jm666
ok, semoga membantu
Terminality