나쁜 월드 와이드 웹에서 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 전달이 이루어집니다.