Xauthority Mini Como
Nos sistemas GNU / Linux que executam um servidor de exibição X11, o arquivo ~/.Xauthority armazena cookies de autenticação ou chaves criptográficas usadas para autorizar a conexão com a exibição. Na maioria dos casos, o mecanismo de autenticação é um cookie simétrico que é referido como Magic Cookie . O mesmo cookie é usado pelo servidor e pelo cliente.
Cada cookie de autenticação X11 está sob o controle do usuário autenticado do sistema individual. Como o cookie de autenticação é armazenado como um token de segurança de texto simples, as permissões no arquivo ~/.Xauthority devem ser rw apenas para o proprietário, 600 no formato octal. No entanto, as permissões no arquivo de autorização não são aplicadas.
Um usuário pode listar, exportar, criar ou excluir cookies de autenticação usando o programa xauth . O comando a seguir criará um cookie de autorização para DISPLAY 32 .
xauth add localhost:32 - 'mcookie'
A criação manual e a manipulação de cookies geralmente não são necessárias ao usar o encaminhamento X11 com ssh , porque ssh inicia um proxy X11 na máquina remota e gera automaticamente cookies de autorização na exibição local. No entanto, para determinadas configurações, o cookie de autorização pode precisar ser criado manualmente e copiado para a máquina local.
Isso pode ser feito em uma sessão ssh e, em seguida, use scp para copiar o cookie.
ssh na máquina remota:
ssh -XY user@remote
Verifique se um cookie de autorização está presente para a exibição atual do X11
echo $DISPLAY
xauth list
Se não houver uma variável de ambiente chamada $DISPLAY , o proxy X11 não foi iniciado corretamente. É importante observar que DISPLAY 0 normalmente é usuários registrados localmente e só está executando se um xserver tiver sido iniciado localmente por meio de xinit . Não há necessidade de um servidor X11 iniciado localmente para que o encaminhamento do X11 funcione através de ssh .
Se houver um conjunto de variáveis de ambiente $DISPLAY , mas nenhum cookie de autorização correspondente para esse número de exibição, você poderá criar um:
xauth add $DISPLAY - 'mcookie'
E verifique se agora existe um cookie:
xauth list
Você pode copiar esse cookie e mesclá-lo na máquina local:
user@remote> xauth nextract ~/xcookie $DISPLAY
user@remote> exit
user@local> scp user@remote:~/xcookie ~/xcookie
user@local> xauth nmerge ~/xcookie
E, em seguida, verifique se o cookie foi instalado:
user@local> xauth list
Experimente sua conexão ssh de encaminhamento do X11.
Notas sobre ~/.Xauthority
~/.Xauthority é um arquivo binário que contém todas as informações de autorização para cada exibição que o usuário pode acessar. Cada registro é delimitado pelos dois bytes 0x0100 . Cada campo é precedido por uma contagem hexidêmica do número de bytes do campo. Todo o texto é codificado em ASCII hexadecimal. A tabela a seguir é a estrutura básica da configuração mais comum de uma autorização do MIT MAGIC COOKIE:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0100 0004 61616161 0002 3435 0012 4d49542d4d414749432d434f4f4b49452d31 0010 c0bdd1c539be89a2090f1bbb6b414c2c
----------------- ----------- ------------------ ------------ ---------------------- ------------- -------------------------------------- ------------ ---------------------------------------
start-of-record 0xNumBytes 0xASCII Hostname 0xNumBytes 0xASCII Display Num 0xNumBytes 0xASCII Auth Type 0xNumBytes 0xkey
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
A linha superior é recuperável do arquivo ~/.Xauthority por meio do comando xauth nlist . É claro que o seu arquivo de autorização terá informações diferentes do meu exemplo.
Se as Extensões de Segurança estiverem em uso com o servidor X11, há várias opções de configuração para cada linha de autorização, incluindo a autorização limitada por tempo por cookie.