두 개의 SSH 터널을 통해 X를 전달하는 방법은 무엇입니까?

두 개의 SSH 터널을 통해 X를 전달하는 방법은 무엇입니까?

저는 회사 컴퓨터에서 집 컴퓨터에 있는 X 프로그램을 실행하려고 합니다. 기본 설정은 이렇습니다.

Arch Linux 업무용 컴퓨터 -> OpenBSD SSH 라우터(집에서) -> Arch Linux 가정용 컴퓨터(SSH 사용)

나는 실제로 이것을 시도한 적이 없으며 어떻게 해야할지 잘 모르겠습니다. 이것이 작동하도록 하려면 어떻게 해야 합니까?

내가 막 하려고 할 때

$(work computer) ssh -Y home-ip
..
$(home router) ssh -Y private-ip

마지막 터널에서 "채널 0에서 X11 전달 요청이 실패했습니다"라는 메시지가 나타납니다.

이 작업을 올바르게 수행하려면 어떻게 해야 합니까?

편집: 내 집 컴퓨터의 SSHD에서 X 전달을 활성화하는 것을 잊었습니다. 지금은 그 문제를 고쳤지만 xterm. 아마도 내 업무용 컴퓨터가 아닌 내 라우터에 xterm 창을 표시하려고 시도하는 것 같습니다.

답변1

회사 컴퓨터의 포트를 집 컴퓨터의 포트 22로 전달한 다음 ssh -Y해당 로컬 포트로 전달하는 것은 어떻습니까?

예를 들어,

ssh -L 2222:private-ip:22 router-ip
ssh -Y localhost:2222

답변2

수행한 작업이 작동해야 하지만 xauthSSH가 생성하는 가상 X11 디스플레이에 대한 보안 키를 생성할 수 있도록 라우터에 프로그램을 설치해야 합니다. 실제로 X 응용 프로그램을 실행하지 않더라도 xauth다른 컴퓨터에 필요 하지만 다른 곳으로 향하는 단계로 사용하면 ssh -X됩니다 .ssh -Y

집에 있는 컴퓨터에 연결한 후 $DISPLAY변수를 확인하세요. 그것은 다음과 같아야 합니다 localhost:10. 그렇지 않은 경우 라우터의 셸로 돌아가서 확인하세요 $DISPLAY.

관련 정보