본문 바로가기
카테고리 없음

가상머신 우분투 SSH 원격 접속하기

by 오피스포디 2022. 6. 4.
반응형

우분투를 주 OS가 아니라 가상머신에 설치했을 경우, SSH 접속하는 방법이 보다 까다롭습니다. 두가지 방법이 있어서 정리할 겸 소개하겠습니다. 이 글은 VMWare Workstation Player 16 을 기준으로 합니다.

 

우분투에 SSH 설치하기

어떤 방법을 쓰든 일단 SSH를 설치해야 합니다. 우분투 상에서 터미널을 실행해서 다음의 명령어로 설치합니다.

 

sudo apt update
sudo apt install openssh-server

SSH 서비스 동작 실행 확인하기

설치하면 자동으로 실행은 되나, 확인 차원에서 한번 더 체크해 줍니다.

 

service --status-all

 

위 명령어를 치면 현재 실행중인 서비스 목록이 쭉 뜨게 되는데요, 해당 목록에 ssh 가 있으면 성공입니다. [ + ] ssh 와 같이 떠 있게 되구요, 만약에 목록에 없다면 다음을 실행하세요.

 

sudo systemctl enable ssh
sudo systemctl start ssh

 

VMWare 네트워크 설정하기

이제 우분투 상에서 해줘야 할 일은 끝났구요, 여기서부터는 VMWare 설정을 해 주는 일입니다. 이제 두가지 방법으로 나뉘게 됩니다.

 

  • 네트워크를 NAT 로 설정한 후 포트포워딩
  • 네트워크를 Bridged 로 설정하여 별도 설정 없이 사용

NAT와 Bridged 의 차이

더 진행하기 전에 이거만 잠깐 짚고 넘어갈게요. 아마 뒷 단계를 훨씬 이해하기 쉬우실 겁니다.

NAT

NAT는 이런 방식입니다. VMWare를 실행하는 PC에서, 가상머신 안에 설치된 OS 에게 IP를 할당해 줍니다. 마치 공유기가 하나의 외부 IP를 받은 후에 그 안에서 여러 기기에게 내부 IP를 알아서 할당하는 것과 마찬가지 구조라고 생각하시면 됩니다. 이 방식에서는 가상머신에 설치된 OS는 다른 PC에게는 안보이게 됩니다.

 

NAT 연결 방식
NAT 연결 방식

위의 그림에서 PC 2는 PC 1 에 설치된 여러가지 가상 컴퓨터들에 접근할 수가 없습니다. 이때 아이피는 예를 들면 이런 식으로 할당됩니다.

 

  • PC 1 : 192.168.0.1
  • PC 2 : 192.168.0.2
  • VMware OS 1 : 192.168.174.140
  • VMware OS 2 : 192.168.174.141

OS 1 과 OS 2 는 게이트웨이가 다릅니다. 그래서 아예 접근이 안됩니다.

Bridged

이 방식은 VMWare가 설치된 PC 상에 깔린 OS라고 하더라도, 마치 공유기에 직접 연결되어 있는 PC인 것처럼 인식하게 만들어주는 방식입니다. 위의  NAT와는 다르게 PC 2에서도 PC 1에 설치된 여러 가상 컴퓨터들에 접근할 수가 있는 거죠. 마치 물리적으로 존재하는 컴퓨터인 것처럼 만들어 주고, 따라서 우분투에서 SSH만 설치하면 22번 포트를 통해 바로 접속이 가능합니다.

 

이 경우에는 아래와 같은 식으로 IP가 부여됩니다. 위의 예시를 그대로 가져오겠습니다.

 

  • PC 1 : 192.168.0.1
  • PC 2 : 192.168.0.2
  • VMware OS 1 : 192.168.0.3
  • VMware OS 2 : 192.168.0.4

같은 게이트웨이를 가지고 있구요, 이때 OS 1 과 OS 2는 실제로 공유기 설정화면 등에 들어가 보면 리스트에 뜨게 됩니다.

 

Bridged 로 설정하고 SSH 접속하기

먼저 별로 할 게 없는 Bridged 설정부터 진행해 보겠습니다.

 

  • VMWare를 실행한 후 원하는 가상머신에 우클릭하여 Settings 로 들어갑니다.
  • "Network Adapter"를 클릭합니다.
  • 우측의 "Network connection"에서 Bridged를 선택합니다. (아래 그림 참조)

Bridged nework connection configuration
Bridged nework connection configuration

이렇게 하고 나서 다음 스텝을 따릅니다.

 

  • 가상머신을 부팅합니다.
  • 터미널을 켜서 ip addr 로 ip를 확인합니다.
  • VMWare를 설치한 컴퓨터와 네트워크를 공유하는 다른 PC에서, SSH에 접속해 봅니다. (아래 코드)

 

ssh -p 22 [id]@[ip]

 

맥이나 리눅스라면 터미널에서 위처럼 쳐서 들어가면 되구요, 윈도우라면 putty 등 앱으로 접속해보면 됩니다.

 

NAT로 설정하고 SSH 접속하기

NAT는 할 게 많습니다. 네트워크가 일종의 하이라키를 가지고 있기 때문에, 포트포워딩이 필요합니다.

1단계 : VMWare에서 NAT로 설정하기

위의 Bridged 와 동일한 메뉴로 들어갔을 때, Bridged 바로 밑에 NAT라고 보이시죠? (위 그림) 그걸 선택해 주면 끝입니다. 그리고 실제로 가상머신을 부팅한 다음에 ip addr 명령어를 통해서 해당 가상머신의 IP를 확인하시고, 종료해 줍니다.

2단계 : Virtual Network Editor 실행하기

제가 기준으로 하고 있는 VMWare Workstation 16 Player 의 경우, Pro보다 낮은 무료 버전으로 이를 기본 제공하고 있지 않습니다. 구글링을 해서 vmnetcfg 라는 프로그램을 별도로 받아서 VMWare 설치 폴더 안에 넣어줘야 합니다. 아래 링크에서 제공하고 있습니다.

 

 

Download vmnetcfg.exe für VMware Workstation 15.x Player

Download vmnetcfg.exe für VMware Workstation 15.x Player. Der Virtual Network Editor für den VMware Player 15.5.X zum herunterladen!

www.tobias-hartmann.net

 

위 링크에서 현 시점의 가장 최신 버전인 15.5.7 버전을 받으면 잘 작동합니다. 압축파일을 풀면 exe 실행파일 하나로 이루어져 있구요, 이걸 VMware 설치 폴더에 붙여넣고 실행하면 됩니다. (관리자 권한으로 실행)

3단계 : 포트포워딩 설정하기

뜨면 여러가지 네트워크 설정 형태가 나오는데요, 이 중에 NAT 로 체크된 것 옆의 NAT settings 를 클릭합니다.

NAT settings
NAT settings

그러면 포트포워딩을 추가할 수 있는 화면이 나옵니다. 포트포워딩은, 진짜 PC의 IP를 통해 가상머신으로 접근이 가능하게끔 해 주는 거니까, 아래와 같이 써 주면 됩니다.

[가상PC의 IP]:[ssh포트] to [진짜PC의 IP]:[원하는포트]

실제 설정한 결과는 아래와 같습니다.

 

가상 머신의 IP와 포트는 어떻게 되는데, 이걸 2222 포트로 포워딩해주겠다는 뜻이고, 그러면 다른 PC에서 접속할 때는 진짜 PC의 IP에다가 포트 2222를 붙여서 접속하면 가상머신의 ssh로 접속이 가능합니다.

4단계 : 윈도우 방화벽 설정

진짜로 접속하기 전에, 윈도우의 경우 위에서 설정한 포트에 대해 방화벽 규칙을 추가해 줘야 합니다. 

 

  • 제어판에 접속합니다.
  • 시스템 및 보안 > Windows Defender 방화벽 접속
  • 왼쪽의 탭 중에서 "고급 설정" 에 접속
  • "인바운드 규칙" 에서 새 규칙 추가
  • "포트" 선택 후 다음 클릭
  • 특정 로컬 포트에서 추가한 포트를 기입 후 다음
  • 연결 허용 후 완료

이제 진짜 끝났습니다. 아래와 같이 쳐서 SSH 로 접속해 봅니다. 진짜 PC 의 IP가 192.168.0.2 라고 하고, 위와 같이 2222로 포트포워딩 했다고 가정하겠습니다.

 

ssh -p 2222 my_id@192.168.0.2

 

접속되는 것을 확인하실 수 있습니다.

반응형

댓글