ルートとして、コマンドを実行するためにリモートホストに接続しています。「standarduser」のみが適切なidファイルと正しい.ssh / configを持っているため、最初にユーザーを切り替えます。
su standarduser -c 'ssh -x remotehost ./remotecommand'
コマンドは正常に動作しますが、「-x」(X11-Forwardingを無効にする)を使用し/etc/ssh/ssh_config
、X11Forwardsを無効にしたにもかかわらず、エラーメッセージが表示されます。
X11 connection rejected because of wrong authentication.
「standarduser」としてログインしているときにエラーメッセージが表示されません。
コマンドをcronジョブファイルに統合したいので、これは非常に面倒です。エラーメッセージがルートの.XAuthファイルの誤った認証を指していることは理解していますが、X11経由で接続しようとさえしていません。
「ssh -x」がX11接続を無効にせず、エラーメッセージをスローしないのはなぜですか?
更新:メッセージは、画面内でログインしているときにのみ表示されます。ローカルマシン自体で(画面なしで)上記のコマンドを使用すると、エラーメッセージが表示されないため、cronでも問題ないはずです。
また-v
、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オプションに追加して、出力を質問に貼り付けます。