Als Root verbinde ich mich mit einem Remote-Host, um einen Befehl auszuführen. Nur "Standardbenutzer" hat die entsprechende ID-Datei und die korrekte .ssh / config-Datei. Daher wechsle ich zuerst den Benutzer:
su standarduser -c 'ssh -x remotehost ./remotecommand'
Der Befehl funktioniert einwandfrei, aber trotz der Tatsache, dass ich "-x" verwendet habe (X11-Forwarding deaktivieren) und X11Forwards deaktiviert habe /etc/ssh/ssh_config
, bekomme ich immer noch die Fehlermeldung:
X11 connection rejected because of wrong authentication.
Ich erhalte keine Fehlermeldung, wenn ich als "Standardbenutzer" angemeldet bin.
Das ist ziemlich ärgerlich, da ich den Befehl in eine Cron-Job-Datei integrieren möchte. Ich verstehe, dass sich die Fehlermeldung auf die falsche Authentifizierung der .XAuth-Datei von root bezieht, aber ich versuche nicht einmal, eine Verbindung über X11 herzustellen.
Warum deaktiviert "ssh -x" die X11-Verbindung nicht und gibt eine Fehlermeldung aus?
UPDATE : Die Meldung wird nur angezeigt, wenn ich innerhalb eines Bildschirms angemeldet bin. Wenn ich den oben angegebenen Befehl auf dem lokalen Computer selbst (ohne Bildschirm) verwende, wird keine Fehlermeldung angezeigt. Dies sollte also auch für cron in Ordnung sein .
Ich habe den gleichen Befehl auch mit gestartet -v
und überraschenderweise die Fehlermeldung FIRST erhalten, noch bevor die Statusinformationen von 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
Dies führte mich zum Problem selbst, es ist NICHT das, ssh
was die Fehlermeldung auslöst, es ist su
:
root@localhost:~# su standarduser -c 'echo Hi'
X11 connection rejected because of wrong authentication.
Hi
Warum erhalte ich diesen Fehler nur innerhalb von screen
? Wie kann ich diese Fehlermeldung deaktivieren?
-v
zu den ssh-Optionen hinzu. Fügen Sie dann die Ausgabe in Ihre Frage ein.