`ssh -Y` (신뢰할 수있는 X11 전달)와`ssh -X` (신뢰할 수없는 X11 전달)의 차이점은 무엇입니까?


114

ssh -Y(신뢰할 수있는 X11 전달)과 ssh -X(신뢰할 수없는 X11 전달) 의 차이점은 무엇입니까 ? 내가 이해하는 한, 보안과 관련이 있지만 차이점과 사용시기를 파악하지 못했습니다.

답변:


89

두 옵션 모두 X11 포워딩과 관련이 있습니다. 즉,이 기능을 활성화하면 SSH 세션을 통해 그래픽 클라이언트를 사용할 수 있습니다 (예 : Firefox 등).

ssh -X remotemachine원격 시스템 을 사용 하는 경우 신뢰할 수없는 클라이언트로 취급됩니다. 따라서 로컬 클라이언트는 원격 시스템에 명령을 보내고 그래픽 출력을 수신합니다. 명령이 일부 보안 설정을 위반하면 대신 오류가 발생합니다.

그러나 ssh -Y remotemachine원격 시스템 을 사용 하는 경우 신뢰할 수있는 클라이언트로 취급됩니다. 이 마지막 옵션은 보안 문제를 일으킬 수 있습니다. 다른 그래픽 (X11) 클라이언트는 원격 시스템에서 데이터를 스니핑 (스크린 샷 생성, 키 로깅 및 기타 불쾌한 작업 수행) 할 수 있으며 이러한 데이터를 변경할 수도 있습니다.

그에 대해 더 알고 싶다면 Xsecurity 맨 페이지 또는 X 보안 확장 사양을 읽으십시오 . 또한 옵션을 ForwardX11ForwardX11Trusted에서 확인할 수 있습니다 /etc/ssh/ssh_config.


6
ssh 맨 페이지는 불행한 문구를 사용하여 -X는 사용하기에 안전하지 않으며 -Y가 더 좋습니다. 이 답변에 감사드립니다.
Torsten Bronger

따라서 -X다른 클라이언트가 데이터를 스니핑하거나 변경하는 것이 불가능합니까?
musiphil

6
그렇다면 왜 일반적인 -Y대신에 사용하고 싶 -X습니까?
Wernight

나는 똑같은 질문 (사용 이유)을 가지고 있으며 이것이 -Y유용하다고 생각한 유일한 경우는 서버 측의 보안 제어가 어떻게 구현되지 않았거나 호환되지 않는 경우입니다. 또한 X11 포워딩은 일반적으로 강력하고 위험한 도구로 취급해야합니다.
MakisH

5
"-X 대신 -Y를 사용하는 이유는 무엇입니까?" 질문, -X는 시간 초과 후 전달을 삭제하지만 -Y는 그렇지 않습니다. 그러나 -X 옵션에 ForwardX11Timeout을 사용하여 해당 구성을 재정의 할 수 있습니다.
Seb

23

X11 프로그램을 원격으로 실행할 필요가 없을 때는 사용 하지 마십시오. -X당신이 할 때 사용 ; -Y관심있는 X11 프로그램이 -X보다 -Y에서 더 ​​잘 작동한다면 가설 적으로 사용 하십시오. 그러나 현재 (Ubuntu 15.10)에서 -X는 편집 ssh_config하도록 말하지 않으면 -Y와 동일합니다 ForwardX11Trusted no. -X는 원래 1990 년대의 X 보안 확장을 가능하게하려는 것이었지만, 구식이며 융통성이 없으며 일부 프로그램과 충돌하므로 기본적으로 무시됩니다.

ssh -Y-X원격 시스템에서 X11 프로그램을 실행할 수 있으며 창은 로컬 X 모니터에 나타납니다. 문제는 프로그램이 다른 프로그램의 창과 X 서버 자체에서 수행 할 수있는 작업입니다.

local$ ssh -X remote
remote$ xlogo
# Runs xlogo on remote, but the logo pops up on the local screen.

Trusted X11 전달은에 의해 활성화됩니다 -Y. 이것은 역사적 행동입니다. 디스플레이에 액세스 할 수있는 프로그램은 전체 디스플레이에 액세스 할 수있는 것으로 신뢰 됩니다. 스크린 샷, 키 로그 및 다른 프로그램 의 모든 창에 입력을 삽입 할 수 있습니다. 또한 보안 노출 인 가속 그래픽과 같은 모든 X 서버 확장을 사용할 수 있습니다. 원활하게 실행하기에는 좋지만 보안에는 좋지 않습니다. 원격 프로그램이 로컬 프로그램만큼 안전하다고 신뢰하고 있습니다.

신뢰할 수없는 X11 전달은 원격 프로그램이 자신 창 에만 액세스 하고 비교적 안전한 X 부분 만 사용 하도록 제한합니다 . 어느 것이 좋지만 현재 실제로는 잘 작동하지 않습니다.

-X현재 의미는 ssh 구성에 따라 다릅니다.

우분투 14.04 LTS에, 당신이 당신을 편집하지 않는 한 ssh_config, 사이에 차이가 없다 -X하고 -Y. "[B] 현재 너무 많은 프로그램이 [비 신뢰] 모드에서 충돌합니다."

ubuntu1404$ man ssh
...
 -X      Enables X11 forwarding.  This can also be specified on a per-host
         basis in a configuration file.
         ...
         (Debian-specific: X11 forwarding is not subjected to X11 SECURITY
         extension restrictions by default, because too many programs cur‐
         rently crash in this mode.  Set the ForwardX11Trusted option to
         “no” to restore the upstream behavior.  This may change in
         future depending on client-side improvements.)

ubuntu1404$ grep ForwardX11Trusted /etc/ssh/ssh_config
#   ForwardX11Trusted yes

인 경우 신뢰할없는 전달 ForwardX11Trusted no-X활성화 합니다. 그렇지 않으면 디스플레이 액세스 권한이있는 원격 프로그램이 친숙하다는 점을 신뢰 하여와 동일하게 취급 됩니다.-X-Y


1

-X옵션은 X11 전달을 활성화합니다.

-X   Enables X11 forwarding.  This can also be specified on a per-host
     basis in a configuration file.

     X11 forwarding should be enabled with caution.  Users with the
     ability to bypass file permissions on the remote host (for the
     user's X authorization database) can access the local X11 display
     through the forwarded connection.  An attacker may then be able
     to perform activities such as keystroke monitoring.

     For this reason, X11 forwarding is subjected to X11 SECURITY
     extension restrictions by default.  Please refer to the ssh -Y
     option and the ForwardX11Trusted directive in ssh_config(5) for
     more information.

-Yssh_config (5)의 ForwardX11Trusted 지시문에 해당하는 옵션 은 X11 SECURITY 확장 컨트롤을 제거하므로 보안 수준이 훨씬 떨어집니다.

-Y      Enables trusted X11 forwarding.  Trusted X11 forwardings are not
        subjected to the X11 SECURITY extension controls.

사용하는 것이 더 안전합니다 -x

-x   Disables X11 forwarding.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.