카테고리 없음

[Ubuntu& VSC] VMware ubuntu와 VSC를 이용한 SSH 원격접속

ShinySinee 2024. 9. 20. 20:11

 

VSC을 통해 ubuntu와 SSH 연결하는 과정을 진행했다.

https://hi-sojeong.tistory.com/101

 

[VS Code] Remote SSH 로 VMware 가상머신과 연결하기~(+Could not establish connection 오류 해결)

안녕하세요 소정입니다! gnuboard PHP 분석을 위해서 코드를 쉽게 보려고 VS Code와 연결을 하려고 하는데, 되게 막혔어서,, ㅎ 다른 분들은 좀 더 쉽게 하셨으면 해서 글 씁니당,, 연결부터 삽질하지

hi-sojeong.tistory.com

이 블로그를 참고하여 연결을 시도했다.

 

- Ubuntu 22.04 

- VSC

- Orcale VM VirtualBox

- 22번 포트만 방화벽 허용


1) 문제 상황 💥

진행 도중 아래와 같은 에러가 떴다. 여러 방법을 썼지만 해결되진 않았다. 

1-1) 시도해본 방법 (실패)

- know_hosts, known_hosts.old 삭제

이전 호스트들과 충돌하여 발생하는 문제이다.

 

known_hosts 파일을 삭제 또는 ssh접속에 실패하는 부분을 주석처리 해주자

known_hosts 파일은 C:\Users\{컴퓨터 user 명}\.ssh (config파일과 같은위치) 에 위치해 있다!

 

대부분 여기서 해결된다 했지만 나는 그러지 않았다..

2) 문제 해결 👏

처음에는 ip를 잘 못 썼나 하면서 ifconfig 명령어를 통해 계속 확인해보았다. 

enp0s3 inet 을 써주었다. 

그치만 찾아보니 enp0s8의 inet을 써주는 것이라 한다. 그치만 enp0s8이 없었다. (enp0s8에 대한 설명은 글 마지막 참조) 

따라서 만들어 주었다.

2-1) 네트워크 확인

해당 vmware 클릭하여 네트워크에 들어가니 

NAT만 활성화 되어있고 다른 어댑터는 비활성화 되어있는 것을 확인할 수 있었다.

2-2) 네트워크 생성

파일 > 도구 > 네트워크 관리자

만들기를 눌러주면 ip가 생성된다.

2-3) 네트워크 어댑터 활성화

호스트 전용 어댑터로 설정해주면 된다.

2-4) 확인

다시 ifconfig로 확인해보면 enp0s8이 뜬다.

다시 ssh 연결을 해보니 작동이 잘 됐다.

3) 문제 원인 💫

NAT과 호스트게이트웨이에 대한 이해가 부족해여 생긴 문제였다.

enp0s3은 기본으로 설정되는 NAT, enp0s8은 추가 설정해준 호스트 전용 네트워크이다.

3-1) NAT(Network Address Translation)

  • NAT은 가상 머신이 호스트 시스템의 네트워크를 통해 외부 네트워크와 통신할 수 있도록 해준다.
  • 기본적으로 enp0s3 인터페이스가 NAT로 설정되어 있어, 가상 머신이 외부 네트워크에 접근할 수 있지만, 외부에서 가상 머신으로의 접근은 제한된다.
  • 없애본 결과 당연하게도 인터넷 접속 불가한 것을 확인할 수 있었다.

3-2) 호스트 전용 네트워크(Host-Only Network)

  • 호스트 전용 네트워크는 가상 머신이 호스트 시스템과 직접 통신할 수 있도록 해준다.
  • enp0s8 인터페이스는 호스트 전용 네트워크로 설정되어, 호스트 시스템과 가상 머신 간의 SSH 통신을 가능하게 한다.
  • 이를 통해 가상 머신이 외부 네트워크에 접근하지 않고도 호스트 시스템과 안전하게 통신할 수 있다.