SSH X11 不工作
我有一台家用和工作電腦,家用電腦有一個靜態 IP 地址。
如果我從我的工作電腦 ssh 到我的家庭電腦,ssh 連接工作但不顯示 X11 應用程序。
在我
/etc/ssh/sshd_config
家:X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost yes
在工作中,我嘗試了以下命令:
xhost + home HOME_IP ssh -X home ssh -X HOME_IP ssh -Y home ssh -Y HOME_IP
我
/etc/ssh/ssh_config
的工作:Host * ForwardX11 yes ForwardX11Trusted yes
我
~/.ssh/config
的工作:Host home HostName HOME_IP User azat PreferredAuthentications password ForwardX11 yes
我
~/.Xauthority
的工作:-rw------- 1 azat azat 269 Jun 7 11:25 .Xauthority
我
~/.Xauthority
在家裡:-rw------- 1 azat azat 246 Jun 7 19:03 .Xauthority
但它不起作用
在我與家建立 ssh 連接後:
$ 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
我
iptables
在家裡使用,但我允許埠 22。根據我所讀到的,這就是我所需要的。UPD。 和
-vvv
... debug2:回調開始 debug2: x11_get_proto: /usr/bin/xauth list :0 2>/dev/null debug1:請求帶有身份驗證欺騙的 X11 轉發。 debug2:通道 1:請求 x11-req 確認 1 調試2:client_session2_setup:id 1 debug2: fd 3 設置 TCP_NODELAY debug2:通道 1:請求 pty-req 確認 1 ...
嘗試啟動時
kate
:調試1:client_input_channel_open:ctype x11 rchan 2 win 65536 max 16384 debug1:client_request_x11:來自 127.0.0.1 55486 的請求 debug2:fd 8 設置 O_NONBLOCK debug3:fd 8 是 O_NONBLOCK 調試 1:通道 2:新 [x11] debug1:確認 x11 debug2:X11 連接使用不同的認證協議。 由於身份驗證錯誤,X11 連接被拒絕。 debug2: X11 拒絕 2 i0/o0 debug2:通道 2:讀取失敗 debug2:通道 2:close_read debug2:通道 2:輸入打開 -> 漏極 debug2:通道 2:ibuf 為空 debug2:通道 2:發送 eof debug2:通道 2:輸入漏極 -> 關閉 debug2:通道 2:寫入失敗 debug2:通道 2:close_write debug2:通道 2:輸出打開 -> 關閉 debug2: X11 關閉 2 i3/o3 debug2:通道 2:發送關閉 debug2:通道 2:rcvd 關閉 debug2:通道 2:已死 debug2:通道 2:垃圾收集 debug1:通道 2:免費:x11,nchannels 3 debug3:通道 2:狀態:以下連接已打開: #1 客戶端會話(t4 r0 i0/0 o0/0 fd 5/6 cc -1) #2 x11 (t7 r2 i3/0 o3/0 fd 8/8 cc -1) # 同上重複約7次 凱特:無法連接到 X 伺服器 localhost:10.0
UPD2 請提供您的 Linux 發行版和版本號。
您是在為 X 使用預設的 GNOME 或 KDE 環境還是您自己定制的其他環境?
azat: ~ $ kded4 -version 數量:4.7.4 KDE 開發平台:4.6.5 (4.6.5) KDE 守護程序:$ Id $
您是從終端視窗直接在命令行上呼叫 ssh 嗎?
你用的是什麼終端?xterm、gnome 終端,還是?
你是如何啟動終端在 X 環境中執行的?從菜單?熱鍵?或者 ?
從終端模擬器`yakuake` 手動按“Ctrl + N”並編寫命令
您可以從 ssh -X 失敗的同一個終端視窗執行 xeyes 嗎?
`xeyes` - 未安裝 但是 `kate` 或其他 kde 應用程序正在執行
您是否以登錄 X 會話的同一使用者身份呼叫 ssh 命令?
From the same user
UPD3
我也下載
ssh
原始碼,並使用debug2()
write why it’s report that version is different它看到一些 cookie,其中一個是空的,另一個是
MIT-MAGIC-COOKIE-1
ssh X 轉發不起作用的原因是因為我有一個
/etc/ssh/sshrc
配置文件。手冊頁的末尾
sshd(8)
指出:如果
~/.ssh/rc
存在,執行它;如果/etc/ssh/sshrc
存在,則執行它;否則執行 xauth因此,我將以下命令添加到
/etc/ssh/sshrc
伺服器端(也來自 sshd 手冊頁):if read proto cookie && [ -n "$DISPLAY" ]; then if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then # X11UseLocalhost=yes echo add unix:`echo $DISPLAY | cut -c11-` $proto $cookie else # X11UseLocalhost=no echo add $DISPLAY $proto $cookie fi | xauth -q - fi
它有效!