VS Code 원격 접속 설정하기

Jiwon Yi·2022년 12월 12일
0
post-thumbnail

한동안 atom editor를 쓰다가 nomad corders 강의를 보면서 자연스럽게 VSC로 넘어왔다. 몇 년간 써온 atom에 익숙해져있어서 좀 헤맬 줄 알았는데, 단축키가 대체적으로 비슷했기에 생각보다 헤매지도 않았고 굉장히 편했다. 그 중에서도 remote development extension과 config 파일, ssh-key를 이용해서 비밀번호를 입력하는 번거로움 없이 원격 서버에 바로 접속할 수 있는 기능이 정말 편하다. 이런 기본적인 설정들은 보통 맨 처음에 한번 해두면 그 뒤로는 거의 할 일이 없다보니 어떻게 했었는지를 기억하기 어렵기 때문에 notion에 세세하게 적어뒀었다. 그걸 기반으로 여기에도 남겨두고자 한다.

처음에 설정할 때 아래 글을 참고했기에 먼저 참고글 링크를 남긴다.
vscode에서 원격서버 연동 (비밀번호 없이 자동 접속 설정)

확장 프로그램 : Remote Development 설치


publisher가 Microsoft다. (일단 VSC 확장은 벌써 다운로드 숫자가 atom에서 보던 숫자가 아니다;;)

ssh-key 발급

이미 발급된 ssh-key가 있으면 이 부분은 생략.
만약 없다면 ssh-keygen -t rsa -b 4096을 입력해서 ssh-key를 발급하면 된다.
이것은 ssh-keygen을 생성하는 명령어로, -t 옵션은 생성할 키 type을 지정하는 옵션이며, -bbits다. 즉, rsa 키를 지정하면서 key의 크기는 4096 bits로 지정한다는 의미이다.
발급 과정에서 별 다르게 설정하지 않았다면 자신의 home 디렉토리 아래에 .sshid_rsa 파일과 id_rsa.pub 이 생성된다. 이 중에서 뒤에 .pub가 붙지 않은 파일은 절대 외부로 유출되지 않도록 한다.

원격 서버로 공개키 복사

위에서 발급한 공개키(id_rsa.pub) 파일을 접속하려는 원격 서버에 위치시켜 놓아야 한다. 단, 공개키 파일을 그대로 복사해놓는 것이 아니라, authorized_keys라는 파일(없으면 만들고)에 그 내용을 추가해야 한다. 직접 접속해서 파일 내용을 복사-붙여넣기 해도 되는데, 보통 scpcat으로 이용해서 파일을 옮겨놓고 내용 덧붙이기 하는 방식이 익숙하다.

공개키 먼저 복사해놓고

scp -P포트번호 id_rsa.pub 123.45.67.89:/home/사용자명/.ssh/

서버 접속해서 .ssh 디렉토리로 이동 후 authorized_keys 파일에 덧붙임

cat id_rsa.pub >> .ssh/authorized_keys

권한 확인

서버에서 .ssh 폴더의 권한과 authorized_keys의 권한을 확인이 각 700, 600 인지 확인한다. 나의 경우, 원격 서버의 OS는 CentOS7이었고, 이렇게 권한을 설정했는데도 제대로 작동하지 않았다. 원인은 SELinux가 설정되어 있어서 추가로 아래 명령을 실행해주어야 했다.

restorecon -R -v ~/.ssh

Config 파일

이제 서버가 아닌 로컬(내 컴퓨터)로 돌아오도록 하자.
VSC에서 F1 을 누르고 필요한 기능을 입력하면 바로 찾을 수 있다. F1을 누르고, remote-ssh를 입력하면 config file을 열거나 생성하거나 할 수 있다. 나는 이미 .ssh 아래에 config 파일을 작성해놓은 것이 있어서 이 파일을 복사해 vsc_config 라는 파일을 만들어 VSC용으로 사용했다.
우선, .ssh/config 파일은 다음과 같이 작성되어있는데

Host build
	Hostname 123.45.67.89
    User 사용자
    Port 2222

이렇게 해서 ssh 접속시 일일이 정보를 입력할 필요 없이 간단하게 터미널에서 ssh build 만 입력해서 접속이 가능하다. 이외에도 다른 옵션들로 활용할 수 있는 것들이 있는데, 그건 다른 포스트를 통해서 정리하겠다.

vsc_config는 이렇게 작성되어 있다.

Host build
	Hostname 123.45.67.89
    User 사용자
    Port 2222
	IdentityFile C:\Users\Username\ubuntu\rootfs\home\julian\.ssh\id_rsa

(참고로 나는 WSL2를 사용중이라서 file 위치가 길다. 아니라면 훨씬 단순할 것이다.)

완료

이렇게 설정이 잘 되었다면 이제 VSC에서 왼쪽 하단의 >< 처럼 생긴 곳을 클릭해서 Connect to Host...를 선택하면 config 파일에 작성된 서버 목록이 나오고, 원하는 서버로 바로 접속이 되는 것을 확인할 수 있다.

profile
퍼덕거리는 개발자

0개의 댓글