Seguindo os vários guias, copiei o arquivo /etc/ssh/sshd_config
para um novo diretório e, em seguida, executei o seguinte comando no mesmo diretório para criar um novo par de chaves:
ssh-keygen -f myrsa -N ''
Copiei um executável xauth de um sistema Linux semelhante e coloquei-o no mesmo diretório.
Eu modifiquei o arquivo sshd_config com as seguintes linhas:
Port 22220
HostKey /path/to/directory/myrsa
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no
XAuthLocation /path/to/directory/xauth
Agora eu poderia iniciar meu próprio servidor ssh com o X Forwarding ativado, na porta 22220 usando o comando:
/usr/sbin/sshd -d -D -f /path/to/directory/sshd_config
E conecte-se a ele usando o comando ssh:
ssh -X -p 22220 <hostname>
Uma vez conectado, verifiquei se a variável de ambiente DISPLAY estava definida.
Para executar meu programa X neste host, eu também precisei copiar vários arquivos de biblioteca, como o libxkbfile.so.1, para o mesmo diretório, de um sistema Linux similar com suporte ao X instalado; Eu determinei isso executando ldd
no programa X que eu estava tentando executar, procurando por bibliotecas não resolvidas, depois as encontrei no sistema de trabalho usando ldconfig -p | fgrep libxkbfile.so.1
e usei scp para copiá-las para o sistema de destino. Então eu defino
set LD_LIBRARY_PATH=/path/to/directory
para que as bibliotecas adicionais possam ser encontradas, e possa executar o programa X e ver a interface do usuário no meu sistema local.