형편없는 월드 와이드 웹에서 SSH를 통해 액세스되는 게이트웨이가 있습니다. 문제 없습니다. 다음을 얻습니다.
remote ~$ ssh -X ingo@gateway
Debian GNU/Linux 10 (buster)
0:ingo@gateway ~$
이제 파일 서버와 같은 다른 호스트를 관리합니다.
0:ingo@gateway ~$ ssh -X ingo@fileserver
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Debian GNU/Linux 10 (buster)
0:ingo@fileserver~$
나는 그 경고를 받았습니다.
그러나 로컬 네트워크의 관리 호스트에서 파일 서버로 직접 SSH를 통해 연결하면 경고 없이 작동합니다. 다른 로그인으로 이것을 확인했습니다. SSH에서 SSH를 보낼 때만 경고가 표시됩니다.
내가 왜 받나요?
경고: 신뢰할 수 없는 X11 전달 설정 실패: xauth 키 데이터가 생성되지 않음
중첩된 SSH 로그인에서만 가능합니까?
이 경고를 피하고 보다 안전한 신뢰할 수 없는 X11 전달을 성공적으로 사용하려면 어떻게 해야 합니까?
-Y
아니요, 신뢰할 수 있는 X11 전달을 위해 이미 사용된 옵션 대신 SSH에서 덜 안전한 옵션을 사용하고 싶지 않습니다 -X
.
답변1
X11 서버에 대한 유일한 연결이신뢰할 수 없는, 더 이상 전달할 수 없습니다.
신뢰할 수 없는 X11 전달이 작동하는 방식은 SSH 클라이언트가 로컬 디스플레이에 연결 xauth generate $DISPLAY . untrusted
하고신뢰할 수 없는열쇠/쿠키.
그러나 이를 수행하려면 xauth
명령을 사용하려면 SECURITY
확장이 디스플레이에 나타나야 하며 대부분의 확장과 마찬가지로 xauth
클라이언트가 신뢰할 수 없는 쿠키를 사용하여 인증할 때 확장이 숨겨지거나 비활성화됩니다.
다음을 통해 쉽게 확인할 수 있습니다.
$ touch /tmp/junk1 /tmp/junk2
$ chmod 600 /tmp/junk*
$ xauth -f /tmp/junk1 generate :0 . untrusted
$ XAUTHORITY=/tmp/junk1 oclock
# get a square oclock because the Shape extension is disabled
$ XAUTHORITY=/tmp/junk1 xdpyinfo | grep -A2 extensions
number of extensions: 2
BIG-REQUESTS
XC-MISC
# vs 28 or so on a trusted display
$ XAUTHORITY=/tmp/junk1 xauth -f /tmp/junk2 generate :0 . untrusted
xauth: (argv):1: couldn't query Security extension on display ":0"
이 후자의 단계를 수행하면 SSH에서 경고가 표시됩니다.
따라서 최소한 첫 번째 X11 전달은 신뢰할 수 있어야 하며 그렇지 않으면 작동하지 않습니다.
또는 단일 X11 전달을 수행하는 중간 호스트를 "건너뛰어야" 합니다.
ssh -X -o ForwardX11Trusted=no -J ingo@gateway ingo@fileserver
명시적인 ForwardX11Trusted=no
데비안에서는 옵션 -X
과 -Y
옵션이 동일하므로 다음을 얻게 됩니다.신뢰할 수 있는어떤 것을 사용하든 기본적으로 X11 전달이 발생합니다.