Home Lab 구축기 (4): SSH 접속 설정
최규민
2025년 6월 13일1 분 소요
지난 Windows에서 방화벽 인바운드 규칙, WSL IP 추출 등을 실행하는 쉘스크립트와 이를 작업 스케쥴러에 등록하여 자동화 하는 방법을 알아보았습니다.
이번 포스트에서는 우리가 구축한 딥러닝 서버(데스크탑)에 VSCode를 이용해 접속하는 방법을 알아보겠습니다.
💻SSH 접속 설정
VSC 설정
저는 주로 VSC를 통해 SSH를 접속하는데, Remote-SSH라는 익스텐션을 사용합니다.
설치 후, VSC에서 ctrl+^+p를 누르고 Open SSH configuration file을 타입하여 선택합니다.
configuration 파일이 두 개가 있을텐데, 이름이 config인 파일로 들어가면 됩니다.
이후 아래와 같이 config 파일에 추가합니다.
Host {아무 이름이나 쓰면 됨}
HostName {외부 공인 IP 주소 혹은 DDNS}
User {Ubuntu 계정 ID}
Port {SSH 포트}User에 들어갈 외부 공인 IP 주소는 네이버에 ‘내 IP주소’를 검색하면 나옵니다. 혹은 앞에서 DDNS 도메인을 설정했다면 해당 도메인을 입력하면 됩니다. 가령,
Host kiwii-dev
HostName 218.XXX.XX.XX
User kiwii
Port 22Host kiwii-dev
HostName kiwii.someddnslink.com
User kiwii
Port 22이런 식으로 설정하시면 됩니다.
이제 다시 ctrl+^+p를 누르고, Connect to host를 타입하여 선택하여 접속할 수 있습니다.
접속하고 OS를 설정하라는 메시지에는 Linux, 이후 Ubuntu 계정 비밀번호를 입력하면 접속이 가능합니다.
암호 없이 접속하는 법
공개 키 인증을 사용하면 됩니다.
서버와 클라이언트에 공개키-개인키를 저장하여, 비밀번호 입력 없이 SSH 접속을 할 수 있습니다.
먼저 클라이언트에서 ssh key를 만들어줍니다.
ssh-keygen -t rsa -b 4096파일 저장 위치와 패스 프레이즈는 그냥 엔터를 죽 눌러서 생략해주시면 됩니다.
이러면 ~/.ssh/ 디렉토리에 두 개의 파일이 생성됩니다.
id_rsa: 개인 키 (클라이언트에 보관)id_rsa.pub: 공개 키 (서버에 복사)
이제 공개 키를 서버에 복사해보겠습니다.
ssh-copy-id -i ~/.ssh/my_key username@server_ipusername과 server_ip는 본인의 설정값에 맞게 바꿔주시면 됩니다.
이후 공개 키 인증이 정상 작동할 수 있도록 권한 설정까지 해줍시다.
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys공개 키 인증이 정상 작동하기 위해서는 서버의 /etc/ssh/sshd_config에 올바른 설정값이 설정되어 있어야 합니다.
sudo nano /etc/ssh/sshd_config를 서버 터미널에 입력하여 아래처럼 되어 있는지 확인합니다.
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys모든 설정이 끝났다면 sudo service ssh restart를 통해 서버를 재시작 하고, 아래 커맨드를 클라이언트 터미널에서 입력해 테스트 해봅시다.
ssh username@server_ip비밀번호 없이 접속이 되면 성공한 것입니다.
위에서 VSC 설정을 해주었는데, VSC에서는 ssh config 파일에 아래처럼 추가해주세요.
Host your-server
HostName server_ip
User username
IdentityFile C:\Users\user\.ssh\id_rsa다음 포스트에서는 이렇게 설정한 SSH 서버를 원격으로 키고 끌 수 있는 방법을 알아보겠습니다🤗