본문 바로가기
PC·네트워크

VSCode Remote SSH timeout 접속 실패 해결 순서|터미널 SSH부터 .vscode-server 삭제까지

by mr.k0 2026. 9. 27.
반응형
항목 내용
해결할 질문 Remote-SSH 연결이 timeout으로 끊길 때
핵심 답 터미널 SSH → 로그 → 서버 종료 순서
필요한 환경 OpenSSH 클라이언트, Remote-SSH 확장
바로가기 VS Code SSH 문제 해결

 

VS Code에서 원격 접속을 누르면 "Setting up SSH Host ...: Initializing VS Code Server" 알림만 계속 돌다가 끝내 연결이 끊기는 경우가 있다.

가장 안전한 첫 단계는 VS Code를 닫고 터미널에서 ssh 사용자@호스트가 되는지 보는 것이다.

터미널에서도 안 되면 네트워크·키·서버 문제이고, 터미널은 되는데 VS Code만 안 되면 원격에 설치된 VS Code Server나 확장 설정 문제일 가능성이 크다.

아래 순서대로 범위를 좁히면 된다. 내용은 2026-09-24 기준 VS Code 공식 문서를 따랐다.

 

 

VSCode Remote SSH timeout은 터미널 SSH로 어떻게 가려낼까?

공식 문서도 연결 전에 터미널에서 ssh user@hostname이 되는지 먼저 시도하라고 안내한다. VS Code는 로컬 OpenSSH 클라이언트를 그대로 쓰기 때문이다.

ssh 사용자@호스트
ssh -v 사용자@호스트

-v를 붙이면 어느 단계에서 멈추는지 출력된다. 이 명령은 로컬 OpenSSH 진단이며, 여기서 멈추면 VS Code를 손보기 전에 IP·포트·방화벽·키 경로부터 봐야 한다.

터미널 SSH가 실패하면 VS Code 설정은 건드리지 않는 것이 순서다.

공식 문서: Remote Development using SSH

Remote-SSH 로그는 어디서 볼까?

명령 팔레트(Ctrl+Shift+P)에서 Remote-SSH: Show Log를 실행하면 Remote-SSH 출력 창이 열린다.

실패 원인의 단서는 로그의 마지막 부분에서 찾아보자.

로그에 "open failed: administratively prohibited" 같은 메시지가 보이면 서버가 포트 포워딩을 막고 있을 수 있다.

공식 문서는 서버 sshd_config에서 AllowTcpForwarding yes로 TCP 포워딩을 켜고 SSH 서비스를 재시작하라고 안내한다.

비밀번호나 2단계 인증, 패스프레이즈 입력창이 안 보여 timeout처럼 느껴지는 경우도 있다.

이때는 설정 remote.SSH.showLoginTerminal을 켜면 인증 프롬프트가 터미널로 보인다.

 

 

Kill VS Code Server on Host는 언제 쓸까?

터미널 SSH는 되는데 VS Code만 로딩에서 멈출 때 먼저 시도할 방법이다.

명령 팔레트에서 Remote-SSH: Kill VS Code Server on Host...를 실행하고 호스트를 고른다.

공식 문서는 이 명령이 서버를 제거하며 여러 Remote-SSH 문제를 고칠 수 있다고 설명한다. 실행 후 다시 연결하면 서버가 새로 설치된다.

폴더를 직접 지우기 전에 Kill VS Code Server를 먼저 시도하는 편이 안전하다.

.vscode-server 폴더를 직접 지워야 할까?

Kill 명령으로도 안 되면 서버에 터미널로 접속해 설치 폴더를 지운다.

공식 문서는 ~/.vscode-server와 ~/.vscode-server-insiders를 삭제 대상으로 언급하고, 예전 설치 위치인 ~/.vscode-remote도 살펴보라고 한다.

ls -a ~ | grep vscode
rm -rf ~/.vscode-server

rm -rf는 되돌릴 수 없다. 경로가 홈 디렉터리 아래의 해당 폴더가 맞는지 살핀 뒤 실행하자.

서버가 새로 내려받을 때 실패하는 환경도 있다. 공식 문서는 Debian/Ubuntu 계열에서 wget과 ca-certificates 설치를 안내하고, 원격 호스트가 프록시 뒤에 있으면 원격의 ~/.bashrc에 HTTP_PROXY, HTTPS_PROXY를 설정하라고 한다.

connectTimeout 설정은 어떻게 바꿀까?

서버가 느리게 응답하는 환경이면 VS Code 설정에서 remote.SSH.connectTimeout을 검색해 값을 늘려 볼 수 있다. 값을 바꾼 뒤에는 한 번만 재연결해 효과를 본다.

연결이 오래 유지되다 끊기는 경우는 SSH config에 ServerAliveInterval을 넣어 볼 수 있다.

Windows에서 OpenSSH 서버 버그가 의심되면 공식 문서의 우회책대로 remote.SSH.useLocalServer를 false로 바꿔 볼 수 있다.

  • connectTimeout: 연결 대기 시간 조정
  • showLoginTerminal: 인증 입력창을 터미널로 표시
  • useLocalServer: Windows OpenSSH 서버 버그 우회용

REMOTE HOST IDENTIFICATION HAS CHANGED와 config 오류는?

서버를 재설치하거나 IP를 다른 서버가 받으면 호스트 키가 달라져 이 경고와 함께 연결이 막힐 수 있다. 해당 호스트 기록만 지운다.

ssh-keygen -R 호스트명_또는_IP

config 파일 경로는 설정 remote.SSH.configFile(Remote.SSH: Config File)에서 바꿀 수 있다.

Host, HostName, User, IdentityFile 값이 터미널에서 성공한 명령과 같은지 대조하자.

 

 

VSCode Remote SSH 사용 시 주의할 점은?

⚠️ 삭제 명령은 경로를 살핀 뒤 실행한다

rm -rf는 복구가 안 된다. 홈 디렉터리의 .vscode-server만 지우고, 작업 파일이 든 폴더는 건드리지 않는다.

🔒 known_hosts 경고를 무시하지 않는다

서버를 바꾼 기억이 없는데 키 변경 경고가 나면 다른 서버로 연결됐을 가능성이 있다. 접속 대상이 맞는지 따져 본 뒤에만 기록을 지운다.

📝 원인을 하나씩 바꿔 본다

설정 변경과 폴더 삭제를 한꺼번에 하면 무엇이 효과였는지 알 수 없다. 한 단계 후 재연결하며 진행한다.

VSCode Remote SSH 자주 묻는 질문(FAQ)

Q. 로컬에는 무엇이 필요할까?

공식 문서는 로컬에 OpenSSH 호환 SSH 클라이언트가 설치되어 있어야 하고, Remote-SSH 확장을 설치하라고 안내한다. 원격에 VS Code를 미리 설치할 필요는 없다.

Q. 서버 사양이 낮아도 접속될까?

공식 문서는 원격 호스트에 최소 1GB RAM이 필요하고 2GB RAM·2코어를 권장한다. 저사양 인스턴스에서 로딩이 멈추면 메모리 사용량을 살펴볼 만하다.

Q. 오래된 리눅스에서도 되나?

현재 공식 Linux 사전 요구사항 문서는 커널 4.18 이상, glibc 2.28 이상, libstdc++ 3.4.25 이상, tar를 요구하고, SSH 연결에는 OpenSSH 서버, bash, curl 또는 wget이 필요하다고 안내한다.

이보다 오래된 배포판은 서버 설치 단계에서 실패할 수 있으니 배포판 버전을 대조하자. 참고: Linux 사전 요구사항

결론: VSCode Remote SSH timeout, 누구에게 맞을까?

이 순서는 갑자기 잘 되던 원격 접속이 멈춘 개발자에게 맞는다.

터미널 SSH 점검, 로그, Kill 명령, 폴더 삭제 순으로 가면 원인을 좁히면서 위험한 작업은 뒤로 미룰 수 있다.

터미널 SSH부터 안 되는 경우는 VS Code 문제가 아니므로 서버 방화벽과 키 설정을 점검해야 한다.

서버 쪽에서 포워딩을 막았다면 /etc/ssh/sshd_config의 AllowTcpForwarding yes가 필요하고, 권한이 없으면 관리자에게 요청해야 한다.

반응형