핵심 원리
- SSH Key 인증 방식을 사용합니다.
- 내 PC(로컬)에 비밀키(Private Key)를, 접속할 서버(원격)에 공개키(Public Key)를 등록하여, 비밀번호 대신 키 한 쌍으로 인증하는 방식입니다.
SSH Key 생성 (내 PC에서)
- 아직 SSH 키가 없다면, 다음 명령어를 터미널(Git Bash, PowerShell 등)에 입력하여 생성합니다.
- 이미 ~/.ssh/id_rsa 파일이 있다면 이 단계는 건너뛰어도 됩니다.
ssh-keygen -t rsa -b 4096
- 실행 결과:
- ~/.ssh/ 디렉터리에 id_rsa(비밀키)와 id_rsa.pub(공개키) 파일 한 쌍이 생성됩니다.
- 비밀번호(passphrase)를 입력하라고 나오면, 그냥 Enter를 눌러 비워두어야 비밀번호 없이 접속할 수 있습니다.
서버에 공개키 등록 (id_rsa 등록)
- 내 PC의 공개키(id_rsa.pub)를 원격 서버에 복사하여 등록합니다.
- 가장 간편한 방법은 ssh-copy-id 명령어를 사용하는 것입니다.
ssh-copy-id [서버_사용자명]@[서버_IP주소]
- 실행 결과:
- 서버 접속 비밀번호를 한 번만 물어봅니다.
- 입력하면, 내 PC의 ~/.ssh/id_rsa.pub 파일 내용이 원격 서버의 ~/.ssh/authorized_keys 파일에 자동으로 추가됩니다.
- 이 과정이 "공개키를 서버에 등록"하는 과정입니다.
VS Code SSH 설정 파일 구성 (config 파일)
- VS Code가 서버 정보를 쉽게 인식하고 키를 사용할 수 있도록 설정 파일을 구성합니다.
- 내 PC의 ~/.ssh/config 파일을 열거나 생성하여 아래 내용을 추가합니다.
Host [원하는_서버_별칭]
HostName [서버_IP주소]
User [서버_사용자명]
IdentityFile ~/.ssh/id_rsa
- 각 항목 설명:
- Host: VS Code의 Remote Explorer에 표시될 서버의 별명입니다. (예: my-dev-server)
- HostName: 실제 서버의 IP 주소 또는 도메인 주소입니다.
- User: 서버에 접속할 사용자 계정 이름입니다.
- IdentityFile: 1단계에서 생성한 비밀키(id_rsa) 파일의 절대 경로입니다.
접속 확인
- VS Code를 열고 Remote-SSH 확장 프로그램의 Remote Explorer를 확인합니다.
- config 파일에 Host로 지정한 서버 별칭이 목록에 나타납니다.
- 해당 서버에 연결하면, 이제 비밀번호를 묻지 않고 바로 접속됩니다.