以root用户身份,我连接到远程主机以执行命令。只有“ standarduser”具有适当的ID文件和正确的.ssh / config,因此我首先切换用户:
su standarduser -c 'ssh -x remotehost ./remotecommand'
该命令运行正常,但是尽管我使用了“ -x”(禁用X11-Forwarding)并在中禁用了X11Forwards /etc/ssh/ssh_config
,但仍然收到错误消息:
X11 connection rejected because of wrong authentication.
当我以“ standarduser”身份登录时,未收到错误消息。
这很烦人,因为我想将命令集成到cron作业文件中。我知道该错误消息是指对根.XAuth文件的错误身份验证,但是我什至没有尝试通过X11连接。
为什么“ ssh -x”不禁用X11连接并抛出错误消息?
更新:该消息仅在我登录屏幕时显示,在本地计算机本身(不带屏幕)上使用上述命令时显示,我不会收到错误消息,因此使用cron也应该没问题。
我还使用了相同的命令-v
,甚至在SSH发出状态信息之前,都意外收到了错误消息FIRST:
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选项,然后将输出粘贴到您的问题中。