ในฐานะที่เป็น root ฉันกำลังเชื่อมต่อกับรีโมตโฮสต์เพื่อดำเนินการคำสั่ง เฉพาะ "standarduser" เท่านั้นที่มี id-file ที่ถูกต้องและถูกต้อง. ssh / config ดังนั้นฉันจะเปลี่ยนผู้ใช้ก่อน:
su standarduser -c 'ssh -x remotehost ./remotecommand'
คำสั่งทำงานได้ดี แต่ถึงแม้ว่าฉันจะใช้ "-x" (ปิดการใช้งานการส่งต่อ X11) และการปิดการใช้งาน X11Forward ใน/etc/ssh/ssh_config
ฉันยังคงได้รับข้อความแสดงข้อผิดพลาด:
X11 connection rejected because of wrong authentication.
ฉันไม่ได้รับข้อความแสดงข้อผิดพลาดเมื่อฉันเข้าสู่ระบบในฐานะ "ผู้ใช้มาตรฐาน"
มันค่อนข้างน่ารำคาญเพราะฉันต้องการรวมคำสั่งในไฟล์งาน cron ฉันเข้าใจว่าข้อความแสดงข้อผิดพลาดอ้างถึงการตรวจสอบความถูกต้องที่ผิดพลาดของไฟล์. XAuth ของรูท แต่ฉันไม่ได้พยายามเชื่อมต่อผ่าน X11
ทำไม "ssh -x" ไม่ปิดการใช้งานการเชื่อมต่อ X11 และทิ้งข้อความข้อผิดพลาด?
UPDATE : ข้อความจะแสดงเฉพาะเมื่อฉันเข้าสู่ระบบภายในหน้าจอเมื่อใช้คำสั่งที่ระบุไว้ข้างต้นในเครื่องท้องถิ่น (ไม่มีหน้าจอ) ฉันไม่ได้รับข้อความแสดงข้อผิดพลาดดังนั้นสิ่งนี้ควรจะดีกับ cron ด้วย .
ฉันยังเริ่มต้นคำสั่งเดียวกันด้วย-v
และได้รับข้อความแสดงข้อผิดพลาด FIRST ก่อนหน้าข้อมูลสถานะจาก 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
สิ่งนี้ทำให้ฉันมีปัญหากับตัวเองไม่ใช่สิ่งssh
ที่กำลังทิ้งข้อความแสดงข้อผิดพลาดนั่นคือsu
:
root@localhost:~# su standarduser -c 'echo Hi'
X11 connection rejected because of wrong authentication.
Hi
เหตุใดฉันจึงได้รับข้อผิดพลาดนี้ภายในscreen
เท่านั้น ฉันจะปิดใช้งานข้อความแสดงข้อผิดพลาดนี้ได้อย่างไร
-v
ไปยังตัวเลือก ssh แล้ววางผลลัพธ์ลงในคำถามของคุณ