VSCode 원격 SSH에 대한 SSH 구성의 사용자 지정 포트

대본



VsCode를 통해 원격 워크스테이션에 연결하려고 하지만 기본값(22)이 아닌 다른 포트에 연결하려고 합니다.

왜 이것을 해야 합니까?
이유가 있을 수 있지만 기본 포트에 PAM 또는 Kerberos와 같은 인증을 사용하는 인증이 필요하고 사용자 지정 포트 대신 기본 포트를 사용할 때 암호를 입력하는 것만으로 귀찮게 하고 싶은 경우가 떠오릅니다.

문제



기본적으로 Vscode Remote SSH 플러그인은 원격 연결을 구성하기 위해 로컬~/.ssh/config 파일을 사용합니다. 해당 파일에서 다음과 같은 호스트 구성을 생성했다고 가정해 보겠습니다.

Host my-company-machine
   User my-user-name
   HostName 127.0.0.1
   GSSAPIAuthentication yes


이제 VSCode의 원격 SSH 확장을 통해 원격 시스템에 연결하고 싶지만 기본값이 아닌 다른 포트를 사용합니다.

확인 솔루션



쉬운 해결책은 다음과 같이 구성 파일에 포트를 추가하는 것입니다.

Host my-company-machine
   User my-user-name
   HostName 127.0.0.1
   GSSAPIAuthentication no
   Port 5000


이제 VScode는 원격에서 포트 5000을 사용하여 my-company-name에 연결할 수 있으며 문제가 해결되었습니까?

기본 포트에 필요한 인증 방법을 이제 제거했기 때문이 아닙니다.

더 나은 솔루션



ssh_config(5) 에 대한 맨페이지에는 Include라는 지시문이 나열되어 있어 다른 ssh 구성을 내부에 포함할 수 있습니다.

또한 다른 구성에서 발견된 호스트 선언에 대한 구성을 재정의할 수 있습니다.

내가 제안한(그리고 나에게 효과가 있었던) 솔루션은 vscode에 대한 새 구성을 만들고 해당 파일에서 원격 호스트에 연결하는 데 사용되는 포트를 재정의하는 것입니다.

~/.ssh/구성




Host my-company-machine
   User my-user-name
   HostName 127.0.0.1
   GSSAPIAuthentication yes


~/.ssh/vscode-config




Host my-company-machine
   GSSAPIAuthentication no
   Port 5000
Include ~/.ssh/config


이제 VSCode가 기본 구성 대신 이 새 구성을 사용하도록 플러그인 설정을 변경하기만 하면 됩니다. 다음에 원격 호스트에 연결할 때 VSCode는 포트5000를 사용하고 터미널에서 일반 ssh를 통해 연결할 때 기본적으로 포트22를 사용하거나 -p 옵션을 통해 사용자 지정 포트를 지정합니다. ).

좋은 웹페이지 즐겨찾기