Как пользователь root я подключаюсь к удаленному хосту для выполнения команды. Только "standarduser" имеет соответствующий id-файл и правильный .ssh / config, поэтому я сначала переключаю пользователя:
su standarduser -c 'ssh -x remotehost ./remotecommand'
Команда работает нормально, но, несмотря на то, что я использовал «-x» (отключить пересылку X11) и отключил X11Forwards /etc/ssh/ssh_config
, я все равно получаю сообщение об ошибке:
X11 connection rejected because of wrong authentication.
Я не получаю сообщение об ошибке, когда я вошел как "standarduser".
Это довольно раздражает, так как я хотел бы интегрировать команду в файл задания cron. Я понимаю, что сообщение об ошибке относится к неверной аутентификации корневого файла .XAuth, но я даже не пытаюсь подключиться через X11.
Почему «ssh -x» не отключает соединение X11 и не выдает сообщение об ошибке?
ОБНОВЛЕНИЕ : сообщение отображается только когда я вошел в систему на экране, при использовании команды, указанной выше, на самой локальной машине (без экрана), я не получаю сообщение об ошибке, так что это должно быть хорошо с 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 параметры, затем вставьте вывод в ваш вопрос.