Ao tentar fazer o SSH em um host, recebi a seguinte mensagem de xauth
:
/ usr / bin / xauth: tempo limite no arquivo de autoridade de bloqueio /home/sam/.Xauthority
NOTA: Eu estava tentando exibir remotamente uma GUI do X11 por meio de uma conexão SSH, portanto, precisava xauth
criar um $HOME/.Xauthority
arquivo com êxito, mas, como essa mensagem indicava, claramente não era.
Tentativas de executar aplicativos baseados no X11, como xeyes
foram recebidos com esta mensagem:
$ xeyes
X11 connection rejected because of wrong authentication.
Error: Can't open display: localhost:10.0
Como posso resolver esse problema?
Respostas:
A execução de um
strace
sistema remoto ondexauth
está falhando mostrará o que está ocorrendoxauth
.Por exemplo
Então,
xauth
está tentando abrir um arquivo e ele já existe. O arquivo culpado é/home/sam/.Xauthority-c
. Podemos confirmar a presença desse arquivo no sistema remoto:O conserto
Como se vê. Esses arquivos são arquivos de bloqueio
.Xauthority
, portanto, simplesmente removê-los resolve o problema.Com os arquivos excluídos, saia da conexão SSH e reconecte-se. Isso permitirá
xauth
executar novamente com êxito.Agora, podemos executar
xauth list
aplicativos X11 sem problemas.A GUI
Método alternativo para resolver o problema
Me deparei com este post intitulado: xauth: erro no arquivo de autoridade de bloqueio .Xauthority [linux, ssh, X11], que menciona o uso de
xauth -b
para interromper qualquer arquivo de bloqueio que possa estar por aí.xauth
A página do manual parece apoiar isso:Referências
fonte
lsof
. Eu já os tinha visto antes, mas não me lembro onde. Eu pensei que você e eu discutimos sobre eles em um ponto antes, mas não consegui encontrar nenhuma menção a eles no site.root:root
substituídasuser:user
. Corrigido porchown user:user /home/user
.A raiz do problema pode ser que você não tem permissão de gravação no diretório $ HOME.
Por isso recebi esta mensagem:
Aqui está como eu verifiquei a permissão:
Se este for o problema, você precisará ter permissões de gravação para $ HOME:
fonte
Tenho outra resposta para a pergunta que me atormentou antes de descobrir o problema. O problema é um bug no sistema operacional Fedora e seus derivados, como descobri mais tarde. Se o problema não for o indicado pela resposta aceita e / ou você não estiver no Fedora, RedHat, Korora, etc., isso não ajudará.
O problema
Como o usuário slm disse, o strace em execução fornecerá uma indicação do problema, mas neste caso de bug específico, a saída é diferente:
Para ficar claro, isso está afirmando que o código de retorno EACCES, que é permissão negada. Isso é diferente do problema do usuário slm, onde ele tinha o código de retorno EEXIST, o que significa que o arquivo existe. Portanto, para o código de retorno EACCES, obviamente, a primeira coisa que você verifica é: minhas permissões pessoais estão configuradas para que eu possa gravar no meu diretório pessoal? Você deve verificar se possui o sinalizador de gravação em seu diretório pessoal para o seu próprio usuário primeiro. Se você o fizer, poderá ser vítima do bug descrito abaixo.
O inseto
Através de algumas pesquisas no google, finalmente consegui encontrar alguém com um problema semelhante, e isso me levou ao relatório de erros do Fedora. Para aqueles que desejam ler sobre isso: https://bugzilla.redhat.com/show_bug.cgi?id=772992
A solução alternativa
A solução alternativa para o problema:
Quando você fizer o SSH de volta, tudo ficará bem nesse momento e você poderá transferir com êxito sua sessão X novamente.
EDIT (e outras soluções alternativas):
Para ser o mais completo possível, outros usuários declararam no relatório de erro que a correção acima não funcionou para eles - aconteceu para mim. Outra tentativa de solucionar o problema foi (não verifiquei essa solução pessoalmente):
Outra pessoa menciona algo sobre o GDM, do qual tenho zero conhecimento. Se isso lhe pertence, recomendo ler o post dele no BugZilla e ver se o comentário dele significa alguma coisa para você.
fonte
A configuração do SELinux é a primeira coisa a ser conferida, com ...
ou
Se a configuração do SELinux estiver definida como "Executando" , pode estar causando o problema "xauth" .
Você pode configurá-lo provisoriamente para o modo "permissivo" da seguinte maneira (para poder excluir esse problema como causa raiz do problema) .
Em seguida, siga um tutorial do SELinux para implementar uma configuração adequada ou desative-a se você preferir outro método de segurança (por exemplo, editando o arquivo de configuração / etc / selinux / config no RHEL v.6)
fonte