X11 chuyển tiếp bị hỏng


8

Tôi không thể cho cuộc sống của tôi nhận được x11 để làm việc. Tôi đã làm mọi thứ 'bởi cuốn sách' ... Cả máy khách và máy chủ đều đang chạy Ubuntu 11.04. Cả hai đều có cổng ssh, vnc, x11 và FW mở

/etc/ssh/ssh_config

   ForwardAgent yes
   ForwardX11 yes
   ForwardX11Trusted yes

/etc/ssh/sshd_config

X11Forwarding yes
X11DisplayOffset 10

apt-get install xauth
xauth is already the newest version.
  • cài đặt chặt chẽvncserver
  • chạy danh sách xauth
  • khởi động lại
  • kết nối với ssh server -Xvl user

echo $DISPLAY trả về xterm trống xterm Xt error: Can't open display:

xterm:  DISPLAY is not set
  • FW đang mở
  • Máy chủ VNC đang chạy
  • chạy sshd
  • X11 đang chạy
  • tập tin cấu hình ssh ok
  • đầu ra dài dòng từ đăng nhập ssh hiển thị tất cả ok, không có lỗi

Vẫn không có gì hoạt động ...

Vì vậy, tôi đã làm export DISPLAY=localhost:10.0 Sau đó echo $DISPLAYtrả lại localhost:10.0nhưng xtermtrả lạixterm Xt error: Can't open display: localhost:10.0

Bây giờ đây là phần kỳ lạ. Nếu tôi làm export DISPLAY=:0.0thì xterm không có lỗi, nhưng không có GUI nào được hiển thị ...

Đã thử mọi cách trừ cài đặt lại HĐH. Thậm chí cài đặt lại ssh và sao chép các tập tin cấu hình mới từ bản cài đặt đang hoạt động ...

Đặt ở đây đầu ra dài dòng:

user@jupiter:~$ ssh -v -X user@192.168.0.1 env
OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 192.168.0.1 [192.168.0.1] port 22.
debug1: Connection established.
debug1: identity file /home/user/.ssh/id_rsa type -1
debug1: identity file /home/user/.ssh/id_rsa-cert type -1
debug1: identity file /home/user/.ssh/id_dsa type -1
debug1: identity file /home/user/.ssh/id_dsa-cert type -1
debug1: identity file /home/user/.ssh/id_ecdsa type -1
debug1: identity file /home/user/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p1 Debian-1ubuntu3
debug1: match: OpenSSH_5.8p1 Debian-1ubuntu3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-1ubuntu3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 31:52:3e:91:b2:b2:74:cf:3e:65:37:a7:78:b9:3a:9e
debug1: Host '192.168.0.1' is known and matches the ECDSA host key.
debug1: Found key in /home/user/.ssh/known_hosts:4
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/user/.ssh/id_rsa
debug1: Trying private key: /home/user/.ssh/id_dsa
debug1: Trying private key: /home/user/.ssh/id_ecdsa
debug1: Next authentication method: password
debug1: Authentication succeeded (password).
Authenticated to 192.168.0.1 ([192.168.0.1]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Requesting authentication agent forwarding.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending command: env
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
SHELL=/bin/bash
XDG_SESSION_COOKIE=5867400390852a975845598400000005-1329602079.30299-1173119600
SSH_CLIENT=192.168.0.14 34691 22
USER=user
SSH_AUTH_SOCK=/tmp/ssh-bPyNW11158/agent.11158
MAIL=/var/mail/user
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PWD=/home/user
LANG=en_US.UTF-8
SHLVL=1
HOME=/home/user
LOGNAME=user
SSH_CONNECTION=192.168.0.14 34691 192.168.0.1 22
_=/usr/bin/env
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 1960, received 1968 bytes, in 0.1 seconds
Bytes per second: sent 19601.4, received 19681.4
debug1: Exit status 0

Ồ vâng, và tôi không nhận được mục nào trong nhật ký syslog hoặc kernel
JaR

Hi câu hỏi nhanh cho bạn đời. Khi bạn putty vào hộp của bạn. Bạn có ssh sang hộp khác và thử chuyển tiếp X11 không? ví dụ: Putty (box1) -> ssh box2 -> X11 chuyển tiếp nếu có. Nó không hoạt động. X11 chỉ hoạt động trực tiếp từ putty. Giải pháp thay thế -> tạo một đường hầm đến hộp mới và X11 nó :)

Câu trả lời:


6

Tôi dành nhiều giờ hơn để xem xét cái này và thử hầu hết mọi thứ.

Rất có kinh nghiệm sử dụng SSH.
Điều lạ là nó đã thêm dòng này làm cho nó hoạt động / etc / ssh / sshd_config X11UseLocalhost không


cảm ơn rất nhiều! chỉ có sự vắng mặt của dòng này là nguồn gốc của vấn đề trong trường hợp của tôi.
John Smith

3

Không chắc chắn nếu bạn vẫn quan tâm điều này lâu sau khi bạn hỏi, nhưng tôi đã giải quyết vấn đề tương tự ngày hôm nay.

Bạn cần thêm: X11UseLocalhost no đến /etc/ssh/sshd_configvà khởi động lại máy chủ SSH.

Bạn cũng có thể cần thêm .Xauthoritytệp cho máy chủ kết nối với máy chủ X từ xa:

xauth add {ip}:0 . {32byte code from `xauth list` on the connecting host}

nơi {ip}là IP của máy chủ X từ xa và xauth listđược chạy trên máy chủ kết nối địa phương.


2

Chà, tôi không có vấn đề gì, tôi luôn có thể khiến nó hoạt động khá dễ dàng, nhưng có lẽ tôi có thể giúp bằng cách so sánh kết nối làm việc của mình. Tôi kết nối với hệ thống máy chủ của mình, được đặt tên là "myserver", với tên đăng nhập "myname", sử dụng rsa, không phải mật khẩu (tên đã được thay đổi). Nhân tiện, điều này rất dễ thực hiện với một vài lệnh trên hệ thống cục bộ.

$ ssh -v -X myserver env
OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to myserver [192.168.1.111] port 22.
debug1: Connection established.
debug1: identity file /home/myname/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/myname/.ssh/id_rsa-cert type -1
debug1: identity file /home/myname/.ssh/id_dsa type -1
debug1: identity file /home/myname/.ssh/id_dsa-cert type -1
debug1: identity file /home/myname/.ssh/id_ecdsa type -1
debug1: identity file /home/myname/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian-3ubuntu7
debug1: match: OpenSSH_5.3p1 Debian-3ubuntu7 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA de:ad:be:ef:00:ff:00:5c:1a:65:8e:01:73:4a:96:da
debug1: Host 'myserver' is known and matches the RSA host key.
debug1: Found key in /home/myname/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/myname/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).
Authenticated to myserver ([192.168.1.111]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending environment.
debug1: Sending env LC_MESSAGES = en_US.UTF-8
debug1: Sending env LC_COLLATE = en_US.UTF-8
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending env LC_CTYPE = en_US.UTF-8
debug1: Sending command: env
SHELL=/bin/bash
XDG_SESSION_COOKIE=d509ffb7a28e82163e2349554bdbc5ab-1329602932.440753-1239879281
SSH_CLIENT=192.168.1.110 48888 22
USER=myname
MAIL=/var/mail/myname
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
LC_MESSAGES=en_US.UTF-8
LC_COLLATE=en_US.UTF-8
PWD=/home/myname
LANG=en_US.UTF-8
SHLVL=1
HOME=/home/myname
LOGNAME=mynage
SSH_CONNECTION=192.168.1.110 48888 192.168.1.111 22
LC_CTYPE=en_US.UTF-8
DISPLAY=localhost:10.0
_=/usr/bin/env
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2912, received 2760 bytes, in 0.5 seconds
Bytes per second: sent 5503.1, received 5215.8
debug1: Exit status 0

Chỉnh sửa: Ồ, vâng, các tệp cấu hình: ssh_config ... Không ai trong số ba được đặt cả; Bình luận.

Chỉ những cái này được đặt:

SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no

sshd_config ... Tương tự như của bạn, với phần bổ sung này ở cuối:

UsePAM yes

Ồ, và trên máy chủ từ xa:

$ echo $DISPLAY
localhost:10.0

Tôi chưa bao giờ sử dụng bất kỳ máy chủ vnc nào, vì vậy đây có thể là vấn đề. Chỉ tò mò - tại sao bạn cần sử dụng nó? Tôi không thể nghĩ ra lý do để thêm cái này cho linux vào linux, nhưng tôi chắc chắn không phải là một chuyên gia.
Marty Fried
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.