Veja se você tem um arquivo ~/.ssh/rc
ou /etc/ssh/sshrc
no servidor. De acordo com esta pergunta , se um desses scripts existir, o sshd
irá executá-lo durante inicialização de sessão eo script é responsável por chamar xauth
para configurar a autenticação do X11. Se nenhum dos arquivos existir, o sshd chamará xauth
diretamente. É possível que você tenha um desses arquivos no servidor remoto e não esteja fazendo o trabalho corretamente.
A página do manual do OpenSSH sshd tem um exemplo do código shell que o script rc deve executar para configurar o xauth:
If X11 forwarding is in use, it will receive the "proto cookie" pair in its standard input (and DISPLAY in its environment). The script must call xauth(1) because sshd will not run xauth automatically to add X11 cookies.
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