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