루트로서 명령을 실행하기 위해 원격 호스트에 연결하고 있습니다. "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 옵션에 추가 한 후 출력을 질문에 붙여 넣으십시오.