Miscellaneous

VirtualBox에 설치한 Linux 머신 SSH 접속하기

강철지그·2022년 5월 26일·조회 4,551

1. 개요

아주 예전에 버추얼박스에 우분투를 설치하는 글을 올린 적이 있는데(/index.php/miscellaneous/217-virtualbox-ubuntu-12-04), 그에 이어 호스트 PC에서 VirtualBox의 리눅스 VM에 SSH로 접속하는 방법을 공유할까 합니다.

VirtualBox에서는 보통 두 가지 방식으로 접속할 수 있습니다. 하나는 NAT 어댑터의 포트 포워딩을 이용하는 방법이고, 다른 하나는 호스트 전용 어댑터를 추가해서 VM에 직접 접속하는 방법입니다. 아래에서는 기존 설정 흐름을 유지하되, 두 방식이 섞이지 않도록 구분해서 정리합니다.


2. 환경

  • 호스트 PC: macOS
  • 게스트 PC: Linux
  • 접속 방식: SSH

3. macOS에서 VirtualBox 설정

3.1. 호스트 전용 네트워크 만들기

  • VirtualBox -> 파일 -> 호스트 네트워크 관리자 -> 만들기
  • 이 설정은 개별 VM 설정이 아니라 VirtualBox의 글로벌 설정이다.
  • 정상적으로 생성되면 vboxnet0 같은 호스트 전용 네트워크가 만들어진다.

3.2. VM 네트워크 어댑터 설정

  • VM 설정의 네트워크 항목에 들어가면 어댑터 1은 보통 NAT로 이미 설정되어 있다.
  • 어댑터 2를 활성화하고, 연결 방식은 호스트 전용 어댑터, 이름은 vboxnet0를 선택한다.
  • 이 방식은 호스트와 게스트가 별도의 사설 네트워크로 연결되는 방식이다. VM 안에서 확인한 호스트 전용 어댑터의 IP로 접속하면 된다.

3.3. NAT 포트 포워딩을 사용할 경우

어댑터 1의 NAT를 그대로 사용하면서 SSH만 포트 포워딩으로 열 수도 있다. 이 경우에는 VM 설정 -> 네트워크 -> 어댑터 1 -> 고급 -> 포트 포워딩으로 들어가서 다음과 같이 설정한다.

  • 이름: SSH
  • 호스트 IP: 비워 두거나 127.0.0.1
  • 호스트 포트: 2222
  • 게스트 IP: 비워 두거나 VM의 NAT IP(예: 10.0.2.15)
  • 게스트 포트: 22

IP와 포트는 사용자 환경에 맞게 바꾸면 된다. 단, 192.168.56.1은 일반적으로 호스트 전용 네트워크에서 호스트 쪽 IP로 쓰이는 경우가 많으므로, NAT 포트 포워딩의 호스트 IP로 넣기보다는 127.0.0.1 또는 빈 값으로 두는 편이 혼동이 적다.


4. VM 작업

  • SSH 서버가 설치되어 있지 않다면 설치한다. 예: sudo apt install openssh-server
  • SSH 서버를 실행한다. 예: sudo service ssh start
  • 상태를 확인한다. 예: sudo service ssh status

호스트 전용 어댑터 방식으로 접속하려면 VM 안에서 IP를 확인한다. 배포판에 따라 명령어는 다를 수 있지만, 보통 다음 명령으로 확인할 수 있다.

$ ip addr

192.168.56.x 형태의 주소가 보이면, 그 주소가 호스트에서 접속할 게스트 VM의 주소다.


5. 호스트에서 접속

5.1. 호스트 전용 어댑터로 접속

VM에서 확인한 192.168.56.x 주소로 접속한다.

$ ssh <사용자명>@192.168.56.x

5.2. NAT 포트 포워딩으로 접속

포트 포워딩을 설정했다면 호스트의 로컬 포트로 접속한다.

$ ssh <사용자명>@127.0.0.1 -p 2222

접속이 되지 않으면 SSH 서버 실행 여부, VM의 IP, 포트 포워딩 설정, 방화벽 설정을 차례로 확인하면 된다.


6. 부록

오래된 VirtualBox 버전 다운로드 방법: /index.php/forum/question-and-answer/138-virtualbox

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.