`-X`가없는`ssh` 다음에`$ SH`를`ssh -X`처럼 작동하도록 변경할 수 있습니까?


22

ssh없이 -X기계에, 그것은 (예를 들어 일부 설정을 변경할 수 있습니다 $DISPLAY그것처럼 작동하도록) ssh -X? 그렇지 않다면 이유가 무엇입니까? 감사.


를 생략하여 질문 제목을 더 짧게 만드는 것이 좋습니다 change $DISPLAY to. 현재 질문 제목은 검색 결과에 전체로 표시 될 수 없으며 $ DISPLAY 변경은 실제로 질문의 일부가 아닌 답변의 일부입니다.
Dmitry Grigoryev

답변:


33

X11 전달을 사용하여 두 번째 연결을 작성한 다음 DISPLAY첫 번째의 두 번째 연결에서 환경 변수를 사용할 수도 있습니다 .

첫 번째 창에서 :

$ ssh user@host
user@host$ ...

두 번째 창에서 :

$ ssh -Y user@host 'echo $DISPLAY; while sleep 3600; do :; done'
localhost:10.0

첫 번째 창으로 돌아 가기 :

user@host$ export DISPLAY=localhost:10.0
user@host$ xterm

불행히도, ssh시작한 프로세스 / 세션 또는 원격 시스템에서 실행하는 사용자에게 X11 (또는 기타) 포워딩을 포함하지 않습니다 (예 : 신임 정보를 확인하거나 확인하지 않는 Unix 소켓 사용 또는 네임 스페이스 사용). 이러한 포워딩은 원격 시스템의 모든 사람이 연결할 수있는 간단한 tcp 수신 소켓입니다. X11 포워딩의 모든 보안은 X11 인증에 의존합니다.

X11 손으로 전달

sshd_config(5)맨는 것을 언급한다 :

X11 전달을 비활성화하면 사용자가 항상 자신의 전달자를 설치할 수 있으므로 X11 트래픽을 전달하지 못하게됩니다.

손으로 직접 할 수있는 방법은 다음과 같습니다.

우선, x11 인증 메커니즘을 우회하는 호스트 또는 사용자 기반 액세스 제어를 비활성화해야합니다 [1] :

$ xhost $(xhost | sed -n /:/s/^/-/p)
access control enabled, only authorized clients can connect

그런 다음 DISPLAY=:0로컬 컴퓨터에 대한 인증 정보를 표시하십시오 .

$ xauth list :0
ohzd/unix:0  MIT-MAGIC-COOKIE-1  a86982ddce0c1e1c1a8c5e8b2846e43b

X11 전달없이 원격 시스템에 연결하십시오.

$ ssh user@hzy64
user@hzy64's password:
[motd snipped]

를 통해 명령 행을 열고 ~C포트 6000+43에서 디스플레이에 해당하는 유닉스 소켓 으로 원격 전달을 추가하십시오 :0.

hzy64$~C
ssh> -R 6043:/tmp/.X11-unix/X0
Forwarding port.

$DISPLAYenvvar을 설정하고 로컬의 인증 정보를 원격 시스템에 추가하십시오.

hzy64$ export DISPLAY=localhost:43
hzy64$ xauth add $DISPLAY . a86982ddce0c1e1c1a8c5e8b2846e43b
xauth:  file /home/user/.Xauthority does not exist

이제 준비가되었습니다 :

hzy64$ xterm

[1] 잘못된 버그 수정으로 인해 데비안에서는 사용자 기반 액세스 제어가 기본적으로 켜져 /etc/X11/Xsession.d/35x11-common_xhost-local있습니다. 게다가 XWayland는 기본적으로 유일하게 전원을 끌 수없는 곳이기도 합니다 . X11 프로토콜의 프록시 (예 xscope:)가 X11 서버에 대한 틈새 구멍을 열지 않는 한 자체 x11 인증 쿠키 검사 (ssh의 방식)를 수행해야합니다.


1
보안에 관심이 있다면 -X보다 약간 나을 것 -Y입니다.
Stephen Kitt

13
많은 (대부분?) X11 프로그램이 작동하지 않습니다 -X단지와 함께 -Y. 많은 시스템 (예 : 데비안) 에서 기본적으로 ForwardX11Trusted설정되어 yes있고 -X-Y옵션이 동일 하기 때문에 사람들은 알지 못합니다
mosvy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.