It appears as though sshd X11 forwarding on S10u5 is broken. For some reason, 
when it tries listening for connections on IPv6, any attempt to connect from a 
client (even an IPv4 client) with the -X (X11 forwarding) option results in the 
error message "error: Failed to allocate internet-domain X11 display socket." 
being written to the console. And indeed, DISPLAY is not set as expected in the 
login shell.

The work-around is to force sshd to run in IPv4-only mode.

According to the comments in sshd_config, that should be doable by changing the 
ListenAddress line:

# IPv4 only
ListenAddress 0.0.0.0
# IPv4 & IPv6
#ListenAddress ::

However, making this change did not fix the problem for me. I had to force 
IPv4-only mode by supplying the -4 option when starting sshd. I looked in SMF 
to see if I could do that by setting a service property, but it appears that it 
is not possible. Thus, I resorted to a hack of the svc script that starts sshd 
(/lib/svc/method/sshd):

        # SMF arguments (start and restart [really "refresh"])
'start')
        /usr/lib/ssh/sshd -4
        ;;

(I added the "-4").

Then do a "svcadm restart svc:/network/ssh:default" to put this change into 
effect, logout and ssh -X back in, and X11 forwarding starts working again.

If someone has a better solution to this problem, I'd love to hear it.

Thanks,
Bill
 
 
This message posted from opensolaris.org

Reply via email to