SSH를 통해 원격 컴퓨터에 연결하고 디스플레이를 원격 컴퓨터로 설정한 다음 창을 열려고 합니다. 어떤 창이든 상관없습니다. 하지만 테스트를 위해 xterm 창을 열려고 합니다.
내가 따른 기본 프로세스는 다음과 같습니다(Konsole 및 xterm 창에서 시도).
ssh -XY <user>@<remotecomputer>
xhost +
setenv DISPLAY <remotecomputer>:0.0
xterm
노트:
- ssh 명령에서 -XY를 JUST -X 및 JUST -Y로 변경하려고 시도했지만 두 시도 모두 내 문제를 해결하지 못했습니다.
- 나는 xhost +의 보안 영향을 이해합니다. 이는 일시적인 테스트 목적일 뿐이지만 이에 대한 의견에 감사드립니다.
- 원격 컴퓨터에 창이 표시되도록 특별히 DISPLAY 변수를 설정했습니다. 이렇게 하지 않으면 내가 앉아 있는 컴퓨터에 나타나는데 이는 원하는 기능이 아닙니다.
이렇게 하면 다음 오류가 발생합니다.
xterm: Xt error: can't open display: <remotecomputer>:0.0
내가 무엇을 놓치고 있나요?
편집 1: 자세한 SSH를 시도한 결과 인증 스푸핑으로 X11 전달을 요청하고 있음을 확인했습니다.
편집 2: ssh_config 파일에서 X11Forwarding이 "yes"로 설정되지 않은 것을 확인했습니다. 명시적으로 설정해야 합니까, 아니면 기본값이 yes입니까? X11Forwarding에 대해 "no"로 설정된 줄이 있지만 주석 처리되어 있으므로 직접적인 영향을 미치지는 않을 것 같습니다.
답변1
수행 중인 많은 단계는 불필요합니다.
당신에게 필요한 것은
ssh -X <user>@<remotecomputer>
xterm &
또는 -X
로 변경하세요 -Y
. 이 작업을 수행할 때 오류 메시지가 나타나면 알려주시기 바랍니다.
이 연결을 수행하면 SSH가 $DISPLAY
원격 시스템에서 유사한 것으로 설정되고 localhost:10
포트 6010에 대한 트래픽은 SSH 연결을 통해 로컬 시스템으로 돌아가 로컬 X 서버로 전달되도록 예약됩니다. 또한 홈 디렉터리가 컴퓨터 간에 공유되는지 여부에 관계없이 xauth 스타일 액세스를 설정합니다.
다른 단계.
- 호스트+
이건 닫힐 거야모두안전. 아주 나쁜 생각입니다. 이런 끔찍한 조언을 했다면 이렇게 할 것이다뒤쪽에이미 디스플레이를 설정했습니다.
- setenv DISPLAY 원격 컴퓨터: 0
이 csh 스타일 명령은 원격 컴퓨터의 콘솔에서 일반적으로 시작되는 디스플레이를 설정합니다. 이는 존재하지 않을 수 있으며 해당 디스플레이에서 어떤 항목도 열 수 있는 권한이 거의 없을 것입니다.