Como root, estou me conectando a um host remoto para executar um comando. Somente "standarduser" possui o arquivo de identificação apropriado e o arquivo .ssh / config correto, portanto, troco o usuário primeiro:
su standarduser -c 'ssh -x remotehost ./remotecommand'
O comando funciona bem, mas, apesar de eu ter usado "-x" (desativar o X11-Forwarding) e ter o X11Forwards desativado /etc/ssh/ssh_config
, ainda recebo a mensagem de erro:
X11 connection rejected because of wrong authentication.
Não estou recebendo a mensagem de erro quando estou logado como "usuário padrão".
Isso é muito chato, pois eu gostaria de integrar o comando em um arquivo de tarefa cron. Entendo que a mensagem de erro se refere à autenticação incorreta do arquivo .XAuth da raiz, mas nem estou tentando conectar-me via X11.
Por que "ssh -x" não está desativando a conexão X11 e está lançando a mensagem de erro?
ATUALIZAÇÃO : A mensagem é exibida apenas quando estou logado em uma tela. Ao usar o comando indicado acima na máquina local (sem tela), não recebo uma mensagem de erro, portanto, isso também deve funcionar com o cron. .
Também iniciei o mesmo comando -v
e, surpreendentemente, recebi a mensagem de erro PRIMEIRO, mesmo antes das informações de status do SSH:
root@localhost:~# su standarduser -c 'ssh -x remotehost ./remotecommand'
X11 connection rejected because of wrong authentication.
OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013
Isso me levou ao problema em si, NÃO é o ssh
que está lançando a mensagem de erro, é su
:
root@localhost:~# su standarduser -c 'echo Hi'
X11 connection rejected because of wrong authentication.
Hi
Por que só recebo esse erro dentro screen
? Como posso desativar esta mensagem de erro?
-v
às opções ssh e cole a saída na sua pergunta.