Sebagai root, saya terhubung ke host jarak jauh untuk menjalankan perintah. Hanya "standarduser" yang memiliki file id yang sesuai dan .ssh / config yang benar, jadi saya beralih pengguna terlebih dahulu:
su standarduser -c 'ssh -x remotehost ./remotecommand'
Perintah berfungsi dengan baik, tetapi meskipun saya menggunakan "-x" (menonaktifkan X11-Forwarding) dan menonaktifkan X11Forwards /etc/ssh/ssh_config
, saya masih mendapatkan pesan kesalahan:
X11 connection rejected because of wrong authentication.
Saya tidak mendapatkan pesan kesalahan saat saya masuk sebagai "pengguna standar".
Ini cukup menjengkelkan karena saya ingin mengintegrasikan perintah dalam file tugas cron. Saya mengerti bahwa pesan kesalahan merujuk ke otentikasi salah dari file .XAuth root, tapi saya bahkan tidak mencoba untuk terhubung melalui X11.
Mengapa "ssh -x" tidak menonaktifkan koneksi X11 dan melempar pesan kesalahan?
UPDATE : Pesan hanya menunjukkan ketika saya login di dalam layar, ketika menggunakan perintah yang dinyatakan di atas pada mesin lokal itu sendiri (tanpa layar), saya tidak mendapatkan pesan kesalahan, jadi ini harus baik-baik saja dengan cron, juga .
Saya juga memulai perintah yang sama dengan -v
dan secara mengejutkan mendapat pesan kesalahan PERTAMA, bahkan sebelum informasi status dari 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
Ini membawa saya ke masalah itu sendiri, BUKAN ssh
yang melempar pesan kesalahan, itu su
:
root@localhost:~# su standarduser -c 'echo Hi'
X11 connection rejected because of wrong authentication.
Hi
Mengapa saya hanya mendapatkan kesalahan ini di dalam screen
? Bagaimana saya bisa menonaktifkan pesan kesalahan ini?
-v
ke opsi ssh, lalu tempel output ke pertanyaan Anda.