본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 02. 08:27

Windows의 Codex Desktop에서 SSH를 통해 WSL Ubuntu에 접속하는 방법

요약

Windows용 Codex Desktop에서 WSL Ubuntu 환경을 SSH 호스트로 등록하여 사용하는 방법을 설명합니다. SSH 서버 설정, 포트 변경, SSH 키 등록 및 config 파일 편집 과정을 통해 원격 개발 환경을 구축하는 가이드를 제공합니다.

핵심 포인트

  • WSL Ubuntu에 OpenSSH Server 설치 및 포트(2222) 설정
  • Windows SSH 키 생성 및 WSL authorized_keys 등록
  • SSH config 설정을 통한 Codex Desktop의 호스트 인식 최적화
  • Codex CLI 설치를 통한 WSL 내 원격 처리 환경 구성

Windows 버전의 Codex Desktop을 사용하다 보면, 실제 개발 환경은 WSL Ubuntu 측에 두는 경우가 있습니다.

단순히 WSL 폴더를 \wsl$

로 여는 방법도 있지만, 이번에는 한 단계 더 나아가 Codex Desktop에서 WSL Ubuntu를 SSH 호스트로 등록하는 방법을 정리합니다.

결론부터 말씀드리면, 흐름은 다음과 같습니다.

  • WSL Ubuntu 측에서 SSH 서버를 기동한다
  • Windows 측에서 ssh wsl-ubuntu로 접속할 수 있도록 한다
  • WSL 측에 Codex CLI를 설치한다
  • Codex Desktop의 Connections에서 SSH 호스트를 추가한다

이번에는 다음 환경을 상정합니다.

  • Windows 11
  • WSL2
  • Ubuntu
  • Windows 버전 Codex Desktop
  • Windows 측에서 WSL Ubuntu로 SSH 접속을 하고 싶음

먼저, Windows PowerShell에서 WSL의 배포판(Distribution) 이름을 확인합니다.

wsl -l -v

예시:

NAME STATE VERSION
* Ubuntu Running 2

이 기사에서는 배포판 이름을 Ubuntu로 하여 진행합니다.

먼저 WSL Ubuntu로 들어갑니다.

wsl -d Ubuntu

Ubuntu 측에서 OpenSSH Server를 설치합니다.

sudo apt update
sudo apt install -y openssh-server

WSL 안에서 SSH를 사용하는 것이라면, Windows 측의 SSH와 포트가 충돌하지 않도록 2222번 포트를 사용하는 것이 이해하기 쉽습니다.

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo vi /etc/ssh/sshd_config

다음과 같이 설정합니다.

Port 2222
PubkeyAuthentication yes
PasswordAuthentication no

설정했다면 SSH 서버를 재시작합니다.

sudo service ssh restart

systemd를 활성화하고 있는 환경이라면, 이 방법도 괜찮습니다.

sudo systemctl enable --now ssh

Windows PowerShell에서 SSH 키를 생성합니다.

ssh-keygen -t ed25519 -f "$env:USERPROFILE\.ssh\id_ed25519"

공개키(Public Key)를 WSL Ubuntu 측에 등록합니다.

type "$env:USERPROFILE\.ssh\id_ed25519.pub" | wsl -d Ubuntu sh -c "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"

Windows 측의 SSH config를 편집합니다.

C:\Users\<Windows사용자명>\.ssh\config

다음과 같이 추가합니다.

Host wsl-ubuntu
HostName 127.0.0.1
Port 2222
...

여기서 중요한 것은 Host wsl-ubuntu와 같이 명시적인 Host 이름을 붙이는 것입니다.

Codex Desktop은 SSH config의 Host를 보고 접속처를 인식하기 때문에, 이곳을 알기 쉬운 이름으로 해두면 이후 설정이 편해집니다.

Windows PowerShell에서 접속해 봅니다.

ssh wsl-ubuntu

WSL Ubuntu의 셸에 들어갈 수 있다면 OK입니다.

확인용으로 다음 명령어도 실행해 두면 알기 쉽습니다.

hostname
pwd
whoami

Codex Desktop은 SSH 접속지에서 Codex의 원격 처리를 기동합니다.

따라서 WSL Ubuntu 측에서도 codex 명령어를 사용할 수 있어야 합니다.

WSL Ubuntu 측에서 다음을 실행합니다.

curl -fsSL https://chatgpt.com/codex/install.sh | sh
codex

설치 후, Windows 측에서도 확인합니다.

ssh wsl-ubuntu "which codex"

경로가 표시되면 OK입니다.

만약 아무것도 표시되지 않는다면, WSL 측의 PATH에 Codex의 설치 경로가 포함되어 있지 않을 가능성이 있습니다.

예:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

여기까지 완료되었다면, Codex Desktop 측에서 접속합니다.

  • Codex Desktop을 연다
  • Settings를 연다
  • Connections를 연다
  • SSH connection을 추가한다
  • wsl-ubuntu를 선택한다
  • WSL Ubuntu 측의 프로젝트 디렉토리를 선택한다

예를 들어, WSL 측에 다음과 같은 프로젝트가 있는 경우:

/home/ubuntu/code/my-app

Codex Desktop에서는 SSH 호스트 wsl-ubuntu 안의 이 경로를 프로젝트로 엽니다.

이렇게 하면, Codex의 명령어 실행, 파일 읽기/쓰기, 편집 작업은 WSL Ubuntu 측에서 수행됩니다.

WSL을 재시작한 후에는 SSH 서버가 멈춰 있을 수 있습니다.

sudo service ssh status
sudo service ssh restart

먼저 이 부분을 확인합니다.

Windows 측에서 OpenSSH Server를 사용하고 있는 경우, 22번 포트가 이미 사용 중일 수 있습니다.

따라서 WSL 측은 2222로 설정해 두는 것이 이해하기 쉽습니다.

Host wsl-ubuntu
HostName 127.0.0.1
Port 2222

이 경우에는 WSL 측에서 codex 명령어가 login shell의 PATH에 들어있지 않은 경우가 많습니다.

확인합니다.

ssh wsl-ubuntu "which codex"

아무것도 반환되지 않는다면, ~/.bashrc~/.profile에 PATH를 추가합니다.

WSL에서 개발한다면, 프로젝트는 가능한 한 Linux 측의 홈 디렉토리 하위에 두는 것이 다루기 쉽습니다.

추천:

/home/<user>/code/my-app

피해야 할 예:

/mnt/c/Users/<user>/workspace/my-app

I/O나 권한 관련하여 불필요한 문제가 발생하기 어려워집니다.

Windows의 Codex Desktop에서 WSL Ubuntu로 SSH 접속을 하는 경우에는 다음 4가지만 유의하면 괜찮습니다.

  • WSL Ubuntu 측에서 openssh-server를 실행한다
  • Windows 측의 ~/.ssh/configHost wsl-ubuntu를 추가한다
  • Windows PowerShell에서 ssh wsl-ubuntu로 접속 확인을 한다
  • WSL Ubuntu 측에서도 codex 명령어를 사용할 수 있도록 한다

최종적인 SSH config는 예를 들어 다음과 같습니다.

Host wsl-ubuntu
HostName 127.0.0.1
Port 2222
...

WSL에 개발 환경을 집중시킨 경우, Codex Desktop에서 SSH를 통해 WSL Ubuntu에 접속할 수 있도록 설정해 두면, Windows 측의 UI와 Linux 측의 개발 환경을 효과적으로 분리할 수 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0