Quando uso ssh -X
no meu Mac (executando o OS X 10.6.7) para conectar-me à minha caixa do Ubuntu (11.04), recebo o seguinte aviso:
Aviso: falha na configuração do encaminhamento do X11 não confiável: dados da chave xauth não gerados Aviso: Não há dados xauth; usando dados de autenticação falsos para o encaminhamento do X11.
Existe algo que eu possa fazer para que esse aviso desapareça? Caso contrário, posso ignorá-lo com segurança?
O encaminhamento do X11 parece funcionar bem, embora eu veja esta mensagem:
Xlib: extensão "RANDR" ausente no visor "localhost: 10.0".
Isso está relacionado ao aviso? (Acho que não. Se não estiver, farei uma nova pergunta sobre isso.)
ssh
x11forwarding
warning
Daryl Spitzer
fonte
fonte
sudo apt-get install xauth
diz-me "xauth já é a versão mais recente"Respostas:
Algum motivo pelo qual você não deseja usar o sinalizador -Y em vez do sinalizador -X?
Simplesmente, a diferença entre -X e -Y é que -Y permite o encaminhamento confiável do X11.
fonte
Se você virá aqui em 2015: mesmo se tudo estiver configurado corretamente, isso também pode acontecer no Mac OS X 10.10 Yosemite, ao usar
ssh -X
e executar uma versão do XQuartz <= 2.7.7. A causa raiz é que os soquetes de exibição do X11 são gravados fora do caminho de pesquisa do xauth: edição # 2068 no rastreador do XQuartz.Edit: Desde então, um XQuartz fixo foi lançado na nova página inicial, xquartz.org , e a instalação da versão mais recente a partir daí (atualmente 2.7.9) solucionará o problema.
fonte
brew install xquartz
atualmente instala a versão desatualizada 2.7.7.brew install Caskroom/cask/xquartz
deve obter o XQuartz mais recente com o HomeBrewbrew cask install xquartz
.Se você receber a mesma mensagem mesmo quando estiver usando
-Y
, oxauth
programa poderá estar ausente no servidor. Em sistemas semelhantes ao Debian, você precisa doxauth
pacote. Nos sistemas do tipo RedHat, você precisa doxorg-x11-xauth
pacote.fonte
"Não confiável" neste contexto significa que você não confia na conexão. O SSH usará medidas de segurança adicionais para tentar tornar o encaminhamento do X11 mais seguro. "Confiável" significa que você está totalmente confiante de que ninguém no host remoto terá acesso aos seus dados Xauth e os utilizará para monitorar, por exemplo, as teclas digitadas.
Essa terminologia realmente me confundiu por anos. Eu pensei que as conexões "confiáveis" eram mais seguras. Mas, na verdade, é uma opção que você deve usar em situações em que a conexão é confiável e deseja executar coisas sem que medidas de segurança extras atrapalhem. "Não confiável" é aquele que torna (um pouco) mais seguro lidar com um host remoto não confiável.
Uma conexão "Não confiável" tenta limitar o que um chapéu preto poderia fazer com você, ativando a extensão de segurança X11 e desativando outras extensões que você (esperançosamente) não precisa. Provavelmente é por isso que o RandR está desativado com -X. Você precisa ser capaz de girar sua tela X do host remoto?
Também é importante observar que o encaminhamento "não confiável" do X11 desliga após um certo período de tempo para impedir que você o deixe acidentalmente. Novas tentativas de abrir janelas simplesmente falharão depois disso. Isso me incomodou várias vezes antes de ler documentos suficientes para entender o que estava acontecendo.
fonte
Não tenho uma configuração que possa exibir esse comportamento, portanto, este é um tiro no escuro:
O aviso pode ser suprimida se você definir
ForwardX11Trusted
a"no"
para os anfitriões que dão este aviso. Você pode colocar isso em um~/.ssh/config
ou ou/etc/ssh/ssh_config
e pode fazer a opção específica para um host específico, incluindoHost <hostname>
na linha acima. o<hostname>
componente corresponde ao que você digita na linha de comando (não o nome do host resolvido) e pode incluir caracteres curinga.fonte
ssh -Y
encaminhamento X11 confiável, mas como corrigir o não confiável?/etc/ssh/ssh_config
no lado do cliente. ObrigadoCUIDADO (cansado de ler respostas incompletas que levam a falhas de segurança)
1 / using ssh -Y significa que aqui temos informações falsas do xauth que são ruins!
2 / ssh -X deve funcionar, pois o XQuartz, uma vez ativado, usa o xauth. O único problema é que o ssh está procurando pelo xauth em / usr / X11R6 / bin e nos macos com o XQuartz está em / opt / X11 / bin
Solução segura:
1 / Habilite a primeira opção na guia Segurança das preferências (Cmd-), que permite conexões autenticadas
2 / adicionar
XAuthLocation /opt/X11/bin/xauth
em $ HOME / .ssh / config
3 /
ssh -X you_server
trabalha de forma segurafonte
Se a instalação
xauth
não funcionar corretamente, um caso particularmente irritante pode ser um.Xauthority
arquivo corrompido . Esse caso específico permitiu que alguns clientes X trabalhassem, mas não outros com uma tendência maior a falhar com telas mais recentes. Remover e recriar o.Xauthority
arquivo pode resolver esse problema.fonte
Descartar problemas do lado do servidor
Primeiro, você deve excluir qualquer problema do lado do servidor. Você consegue
ssh -X
de qualquer outro host com êxito? Funcionassh -Y
enquantossh -X
não? Em qualquer um dos casos, suponha que o ssh + X11 esteja configurado corretamente no servidor e vá para a próxima seção.Se você não estiver em condições de verificar isso (você tem apenas um laptop executando o X11, por exemplo), poderá
ssh
do servidor para ele mesmo usando uma sessão falsa:export DISPLAY=:44
# (Shell Bourne) ousetenv DISPLAY :44
# (csh / tcsh)xauth add $DISPLAY MIT-MAGIC-COOKIE-1 1234
# Cookie Bogus apenas para este testessh -X localhost env |grep DISPLAY
Resultado esperado: deve haver uma variável DISPLAY configurada no final remoto da sessão ssh-to-self. Se você não obtiver resultado, é provável que seu servidor esteja configurado incorretamente (por exemplo, as bibliotecas X11 e / ou o
xauth
comando pode estar ausente; ou a configuração sshd pode ser definida para negar acesso ao X11)No Mac: verifique se o Xquartz está atualizado
De acordo com a resposta de Will Angley
Examine a
ssh -vv -X
saídaA mensagem de erro que você cita é um sintoma que pode ter muitas causas. Tente novamente com , o que deve fornecer pistas adicionais sobre o motivo da falha na instalação do túnel X11.
ssh -X -vv remotehost
Você vê a seguinte mensagem aparecendo?
Se então,xauth
comando reside:fonte
Como já foi explicado acima, o seguinte funcionou para mim:
Edite ~ / .ssh / config para adicionar as linhas
e agora o nome do host ssh -X funciona (XQuartz 2.7.11, macOS 10.4 Mojave)
fonte
Eu já tinha o último XQuartz 2.7.11 instalado, mas acho que também atualizei o sistema operacional algumas vezes desde então. Reinstalei o XQuartz 2.7.11 e agora está funcionando bem.
fonte
xauth add `hostname` / unix: 10 MIT-MAGIC-COOKIE-1` openssl rand -hex 16`
fonte