커서에서 SSH 사용하기

개발서버 원격 접속해서 사용하기

by 채박사

개발을 하다 보면 내 노트북이 아니라 다른 컴퓨터(예: 클라우드나 사무실 서버, 혹은 집의 Ubuntu 머신) 에 접속해 작업해야 할 때가 많습니다.
이럴 때 쓰는 기술이 바로 SSH(Secure Shell) 입니다.

SSH는 내 컴퓨터(클라이언트) 와 원격 서버(호스트) 사이를 안전하게 연결해주는 통신 규약이에요.
한마디로, “인터넷을 통해 내 터미널을 서버에 연결시키는 보안 통로”입니다.


1. 단순한 원격 연결의 불편함

Ubuntu 같은 서버에 SSH로 접속하면 기본적으로 검은 화면 터미널 환경이 뜹니다.

ssh username@192.168.1.40

이렇게 로그인하면 서버에 접속은 되지만,

터미널 명령만 입력해야 하고

코드 편집 화면이 불편하고

이미지나 미디어 파일을 다루기 어렵습니다.

Screenshot 2025-10-29 at 2.45.55 PM.png 터미널을 이용해서 ubuntu에 접속한 화면


특히 머신러닝 실험 환경이나 백엔드 서버에서 코드와 데이터를 다루다 보면
“이걸 그냥 내 로컬 VS Code나 Cursor 화면에서 열 수 없을까?”
라는 생각이 들게 됩니다. 그래서 Remote Desktop을 사용해서 접속을 할 수 있지만, 서로다른 OS를 왔다갔다 하면서 작업하는건 단축키 혼선이나 파일/카피 정보 공유로 인해서 뭔가 많이 복잡해집니다.


Screenshot 2025-10-29 at 2.47.56 PM.png Remote Desktop을 이용해서 Ubuntu에 접속한 화면


2. VS Code / Cursor의 Remote-SSH 기능

Visual Studio Code나 Cursor는 사실상 같은 엔진을 사용합니다.
이 두 IDE는 Remote-SSH라는 확장(extension)을 통해 로컬 에디터에서 원격 서버의 파일을 직접 편집하고 실행할 수 있게 만들어 줍니다.


즉,

코드 편집은 내 맥 화면에서,

실행과 빌드는 원격 Ubuntu에서, 이렇게 분리할 수 있습니다.


3. SSH 기본 세팅 (Mac ↔ Ubuntu)

① Ubuntu에 SSH 서버 설치

sudo apt update

sudo apt install openssh-server -y

sudo systemctl enable ssh

sudo systemctl start ssh


② Mac에서 SSH 키 생성

ssh-keygen -t edxxxxx -C "your_email@example.com"


③ 공개키를 Ubuntu에 복사

ssh-copy-id ubuntu@192.168.1.xx

비밀번호 한 번 입력하면 그 다음부터는 암호 없이 접속됩니다.


④ 설정 파일 작성 : 터미널에서 아래를 입력합니다. 여기서 HostName과 User는 실제 데이타를 넣어야합니다.

nano ~/.ssh/config


Host myubuntu

HostName 192.168.1.xx

User ubuntu

IdentityFile ~/.ssh/id_edxxxxx

AddKeysToAgent yes

UseKeychain yes



4. Remote-SSH로 연결하기

VS Code 또는 Cursor 실행

Cmd + Shift + P → “Remote-SSH: Connect to Host…” 입력

myubuntu 선택


잠시 후 “Setting up SSH Host…” 메시지가 뜨고,
Ubuntu 서버의 폴더 구조와 터미널이 내 에디터 안에 뜹니다.


5. 처음엔 UI가 복잡하게 느껴지지만

처음 Remote 모드로 접속하면

좌측 탐색기에 서버 파일 트리가 뜨고

하단 상태바에 [SSH: myubuntu] 표시가 생기며

터미널도 서버 환경으로 바뀝니다.

Screenshot 2025-10-29 at 2.58.05 PM.png


처음엔 “이게 내 맥인지, 서버인지” 헷갈릴 수 있지만
조금 익숙해지면 로컬과 똑같은 작업 흐름으로 서버 리소스를 활용할 수 있습니다.


6. 이렇게 쓰면 좋은 경우

노트북보다 서버가 더 빠를 때 (예: GPU 훈련, 대용량 데이터)

회사 내부망이나 클라우드 인스턴스에서 개발할 때

터미널만으로 작업하기 답답할 때

여러 개발자가 한 서버를 공유할 때


7. 마무리: SSH는 연결, Remote-SSH는 경험의 확장

SSH는 “연결” 그 자체에 집중된 기술이라면,
Remote-SSH는 그 연결 위에 ‘개발 경험’을 얹은 도구라고 할 수 있습니다.

코드는 서버에서, 인터페이스는 로컬에서 —
이 조합이야말로 지금의 원격 개발 환경을 가능하게 합니다.

![Mac ↔ Ubuntu Remote Development 구조 다이어그램 이미지]


단순히 “서버에 붙는 법”을 넘어,
“서버에서 코드를 개발하는 가장 깔끔한 방법”이 바로 Remote-SSH입니다.
처음엔 복잡해 보여도 한 번 연결만 성공해두면, 그다음부터는 한 줄 명령으로 바로 서버에 접속해
로컬처럼 개발을 이어갈 수 있습니다.


keyword
작가의 이전글작은 불편함이 만든 즐거운 실험