Jako root łączę się ze zdalnym hostem, aby wykonać polecenie. Tylko „standardowy użytkownik” ma odpowiedni plik identyfikatora i poprawny plik .ssh / config, więc najpierw przełączam użytkownika:
su standarduser -c 'ssh -x remotehost ./remotecommand'
Polecenie działa dobrze, ale pomimo tego, że użyłem „-x” (wyłącz X11-Forwarding) i mam wyłączoną X11Forwards /etc/ssh/ssh_config
, nadal pojawia się komunikat o błędzie:
X11 connection rejected because of wrong authentication.
Nie pojawia się komunikat o błędzie, gdy jestem zalogowany jako „użytkownik standardowy”.
Jest to dość denerwujące, ponieważ chciałbym zintegrować polecenie z plikiem zadania cron. Rozumiem, że komunikat o błędzie odnosi się do niewłaściwego uwierzytelnienia pliku .XAuth użytkownika root, ale nawet nie próbuję się połączyć przez X11.
Dlaczego „ssh -x” nie wyłącza połączenia X11 i nie wyświetla komunikatu o błędzie?
AKTUALIZACJA : Komunikat pokazuje się tylko wtedy, gdy jestem zalogowany na ekranie, podczas korzystania z polecenia wymienionego powyżej na samym komputerze lokalnym (bez ekranu), nie pojawia się komunikat o błędzie, więc to też powinno być w porządku z cronem .
Uruchomiłem również to samo polecenie -v
i niespodziewanie dostałem komunikat o błędzie PIERWSZY, nawet przed informacją o statusie z 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
Doprowadziło mnie to do samego problemu, to NIE to, ssh
co wyświetla komunikat o błędzie, to su
:
root@localhost:~# su standarduser -c 'echo Hi'
X11 connection rejected because of wrong authentication.
Hi
Dlaczego ten błąd pojawia się tylko w środku screen
? Jak mogę wyłączyć ten komunikat o błędzie?
-v
do opcji ssh, a następnie wklej wynik do pytania.