visual studio code 원격 머신에 SSH로 접속 시 "프로세스에서 없는 파이프에 쓰려고 했습니다." 에러 해결

2023. 2. 6. 13:41카테고리 없음

728x90

보통 가난한 학생이 아닌 이상 AWS EC2를 VS Code SSH를 사용해 접속할 경우 AWS의 탄력적 IP(EIP)를 통해 고정 아이피로 만든 후 접속 하는 게 보통이다

그런데 위 환경에서 기존 EC2 머신을 A라고 치면 새로운 머신 B를 만들고 A는 삭제 한 다음 A에서 사용한 EIP를 B에게 연결하고 VS Code로 접속 할 경우 아래와 같은 에러가 나오면서 접속이 안된다.

 

[14:32:42.863] Running script with connection command: ssh -T -D 57162 "my-com" bash
[14:32:42.867] Terminal shell path: C:\Windows\System32\cmd.exe
[14:32:43.069] > ]0;C:\Windows\System32\cmd.exe
[14:32:43.069] Got some output, clearing connection timeout
[14:32:43.114] > @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[14:32:43.134] > @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
> Someone could be eavesdropping on you right now (man-in-the-middle attack)!     
> It is also possible that a host key has just been changed.
> The fingerprint for the ECDSA key sent by the remote host is
> Please contact your system administrator.
Add correct host key in C:\\Users\\server/.ssh/known_hosts to get rid of this me
> ssage.
> Offending ECDSA key in C:\\Users\\server/.ssh/known_hosts:1
> ECDSA host key for {IP} has changed and you have requested strict checkin
> g.
> Host key verification failed.
> 프로세스에서 없는 파이프에 쓰려고 했습니다.

[14:32:44.412] "install" terminal command done
[14:32:44.413] Install terminal quit with output: 프로세스에서 없는 파이프에 쓰려고 했습니다.
[14:32:44.413] Received install output: 프로세스에서 없는 파이프에 쓰려고 했습니다.
[14:32:44.413] Failed to parse remote port from server output
[14:32:44.415] Resolver error: Error: 

 

빨간색 강조 표시를 유심히 보자

known_hosts 파일은 VS Code SSH 옵션을 변경하지 않았다면 default 위치는 "C:\Users\{계정명}\.ssh"에 위치하고 있는 파일인데 최초 SSH 접속 후 생기는 파일이다.

새로운 원격 머신으로 연결 할 경우 기존의 known_hosts 파일을 참고해서 새로운 머신에 접속하려고 하기 때문에 위와 같은 에러가 발생한다.

이럴 경우 해결 방법은 간단하다.

known_hosts 파일을 삭제 후 SSH에 접속하면 접속이 정상적으로 된다.