중개 시스템을 통한 터널을 사용하여 VNC 서버에 대한 SSH 구성 생성

중개 시스템을 통한 터널을 사용하여 VNC 서버에 대한 SSH 구성 생성

최근에 일반적으로 사용되는 SSH 연결을 설정할 수 있는 SSH 구성 파일을 발견했습니다. 그런데 중간 서버 뒤에 숨겨진 서버에서 실행되는 VNCServer에 내 컴퓨터를 연결하는 명령을 변환하는 데 문제가 있습니다. 기본적으로 이 명령을 변경하면 다음과 같이 작동합니다.

ssh -t -L port1:localhost:port2 [email protected] ssh -L port2:localhost:port3 [email protected]

별도의 창 에 vncviewer localhost:0SSH 구성 파일을 입력하세요. 메시지를 표시하지 않고 시스템에 연결하는 구성을 생성했지만 Failed to set up port별도의 터미널 창에서 실행하면

vncviewer localhost:0

오류가 발생합니다. ~/.ssh/config가 이런 방식으로 설정된 경우(직접 시도):

 Host machine1
   HostName machine1.com
   User user1
   LocalForward port1 localhost:port2
   RequestTTY force

 Host machine2
   HostName machine2.com
   User user2
   LocalForward port2 localhost:port3
   ProxyJump machine1

새 터미널 창에서 실행하여 실행하면 ssh machine2오류 가 발생합니다.vncviewer localhost:0"Failed to connect to localhost:0": unable to connect to socket: Connection refused (111).

내가 언급하도록 설정한 경우여기:

Host machine2
  HostName machine2.com
  User user2
  LocalForward port1 user1@machine1:port2
  LocalForward port2 user2@machine2:port3
  RequestTTY force

오류 메시지가 나타납니다. The connection was dropped by the server before the session could be established. 두 경우 모두 터미널 창에서 machine2에 연결되어 콘텐츠를 찾아볼 수 있습니다. 하지만 vncserver에도 연결하고 싶습니다.

내가 여기서 뭘 잘못하고 있는지 설명해 주실 수 있나요? 다른 SSH 구성을 생성할 때 다음 소스를 참조합니다. https://linuxize.com/post/using-the-ssh-config-file/---초보자 가이드

https://man7.org/linux/man-pages/man1/ssh.1.html--- 사용된 각 -t -LI의 정의를 참조하세요.

https://phoenixnap.com/kb/ssh-config--- -t -L을 SSH 구성 명령으로 변환

https://www.ssh.com/academy/ssh/tunneling-example---로컬 전달이 필요한지, 원격 전달이 필요한지 설명하세요.

답변1

첫 번째 구성이 좋아 보입니다. 두 번째 구성이 LocalForward필요 hostname하고 이를 제공한 경우 user@address[1]을 참조하세요.

첫 번째 구성을 사용하고(아래에서 첫 번째 구성을 편집했습니다) 실행합니다.

ssh -v -J machine1 machine2 -NL <p1>:localhost:<p2> # -v print ssh debugging messages
# <p1> : port on your computer
# <p2> : vnc port on machine2

SSH 구성 편집:

 Host machine1
   HostName machine1.com
   User user1
   #Port 22

 Host machine2
   HostName machine2.com
   User user2
   ProxyJump machine1
   #Port 22
   #LocalForward <p1> localhost:<p2>
   # <p1> port on your computer
   # <p2> port on machine2

[0] -v플래그가 있는 ssh를 사용하면 연결에 어떤 문제가 있는지 알려줄 수 있습니다.

[1]https://linux.die.net/man/5/ssh_config

[2] 프록시 리디렉션에 대한 추가 정보https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Proxies_and_Jump_Hosts#Jump_Hosts_--_Passing_Through_a_Gateway_or_Two

[3] 프록시 점프에 대한 추가 정보https://www.infoworld.com/article/3619278/proxyjump-is-safer-than-ssh-agent-forwarding.go

관련 정보