개요
Windows 10 환경에서 Jump Host를 통해 방화벽으로 차단된 서버에 VSCode 원격 접속하는 방법
현황
-
Ansible로 서버관리 SW 설치등 작업 수행
-
Ansible 작업 및 관리를 위해 Ansible Control 서버에 VSCode를 설치해 원격접속
-
원격접속 서버 방화벽으로 차단되어 있고 Jumphost만 방화벽 오픈
-
VSCode <--> Ansible Control 원격접속 불가
해결 방안
- Jump Host를 통해 원격접속 (터널링)
- VSCode ---> Jump Host ---> Ansible Control 서버
접속 방법
- ssh 사용자 설정 파일 작성
- 위치 및 파일명 : c:\Users\foobar\.ssh\config
- 원격호스트와 점프호스를 지정
- Linux에서는 ProxyJump로 지정 가능하나 Widndows openSSH에서 작동하지 않음
- 따라서, Window에서는 ProxyCommand를 사용해야 함
- 작성 예
- foo : 원격 접속 호스트명, 임의로 지정 가능
- <username1> : 원격 호스트 접속 유저명
- <username2> : Jump Host 접속 유저명
- login.bar: 원격 호스트 hostname 또는 IP (hostname이 windows hosts 파일에 등록되어 있을 경우 사용 가능)
- jump.bar : Jump Host hostname 또는 ip (hostname이 windows hosts 파일에 등록되어 있을 경우 사용 가능)
- SSL인증서파일1 : jump.bar 접속시 사용하는 인증서 파일
- SSL인증서파일2 : longin.bar 접속시 사용하는 인증서 파일
Host foo
User <username1>
HostName login.bar
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -Y <username2>@jump.bar -W %h:%p -i SSL인증서파일1 위치
IdentityFile SSL인증서파일2 위치
ssh foo
- VSCode의 원격접속 메뉴에서 원격 호스트 추가 후 접속
- 원격 접속서버가 인터넷 접속이 차단되어 있을 경우
- 인터넷 접속이 되는 서버 또는 WSL 리눅스 서버 원격접속 서버 설치후
- 설치 서버의 설치 계정의 홈디렉토리의 .vsccode 를 압축해서 원격접속 서버에 업로드 해주어야 함
참고