Mac의 VirtualBox에 Ubuntu Server 20.04를 설치하고 SSH 연결

Mac의 VirtualBox에 Ubuntu Server 20.04를 설치하고 SSH 연결

2022-10-06 last update

6 minutes reading VirtualBox 초보자용 UbuntuServer SSH 우분투20.04

환경


  • Mac mini (macOS Catalina 10.15.6)
  • Intel Core i7 3.2GHz, 32GB DDR4
  • VirtualBox 6.1.14
  • Ubuntu Server 20.04.1 LTS

  • 절차



    VirtualBox 및 Ubuntu Server 설치



    먼저 VirtualBox를 설치합니다.
    $ brew cask install virtualbox
    

    그런 다음 VirtualBox를 시작하고 새로 만들기에서 하나의 가상 컴퓨터를 새로 만듭니다. 가상 머신의 이름은 「ubuntu-server-20.04」로 설정. 그리고는, 디폴트 설정인 채로 GUI 를 포치포치 하는 것만으로 좋다.

    시작 아이콘을 눌러 미리 다운로드한 우분투 서버 iso 파일을 선택하면 설치가 시작됩니다.

    …라고 생각했는데, 여기에서 이끼했다.

    오류는
    /dev/loop2: Can't open blockdev
    "systemd[1]: Failed unmounting/cdrom."

    그래? 왜?

    몇 번 시도해도이 화면이 나오고 가상 머신이 갑자기 떨어집니다.
    그리고 다음과 같은 오류가 팝업됩니다.

    "You must specify a machine to start, using the command line...."

    확실히 Mac mini에는 DVD 드라이브가 붙어 있지 않기 때문에, unmounting에서 에러가 나오는 것일까… 생각하면서 VirtualBox의 GUI를 여기저기 괴롭혀도 고치지 않고.

    우선, 에러의 표시에 따라서, 커멘드 라인으로부터 가상 머신을 기동했다.
    $ VirtualBoxVM --startvm ubuntu-server-20.04 &
    

    ...... 뭔가 잘 모르겠지만, 움직였다.
    정확하게는, 방금전의 「Can't open blockdev」의 에러는 표시되지만 「unmounting」의 에러는 나오지 않고, 그대로 인스톨러가 달려, 순식간에 인스톨 완료.

    인스톨 후에도, VirtualBox 의 「기동」버튼을 눌러 잘 기동하지 않고, 커멘드 라인으로부터라면 기동한다. 왜 그럴까는 아직 모르겠다.

    문제없이 기동하기 때문에 따로 좋지만, 이유를 모르는 것은 기분 나쁘기 때문에, 누군가 가르쳐 주었으면 한다.

    포트 포워딩 설정 및 SSH 연결



    호스트 OS (macOS)에서 게스트 OS (Ubuntu Server)로 SSH로 연결하기 위해 NAT 포트 포워딩 (IP 마스커레이드)을 구성합니다. 구체적으로는, 호스트 OS의 2222번 포트를 통과하는 패킷을, 게스트 OS의 22번 포트(SSH 포트)에 횡류하도록 설정한다.

    VirtualBox의 설정 → 네트워크 → 고도 → 포트 포워딩을 선택하고 프로토콜에 TCP, 호스트 포트에 2222, 게스트 포트에 22를 설정하면 됩니다. 좋다).

    또는 다음 명령을 두드려도 설정할 수 있습니다.
    $ VBoxManage modifyvm "ubuntu-server-20.04" --natpf1 "guestssh,tcp,,2222,,22"
    

    그런 다음 연결 포트 2222를 지정하여 SSH 연결합니다.
    [[email protected]:~]$ ssh -p 2222 localhost
    [email protected]'s password:
    
    ...(中略)...
    
    Last login: Tue Sep 22 09:49:22 2020
    [email protected]:~$
    

    무사히 borneo에서 tonga로 착륙할 수 있었다(참고: 호스트 이름에 남쪽 섬의 이름을 지정하면 재미 있습니다.).

    어쩌면 호스트와 게스트로 닫힌 네트워크를 구성하는 대신 게스트에 어댑터를 추가하여 사설 IP를 할당하고 /etc/hosts로 이름 확인하면 $ ssh tonga로 연결할 수 있습니다. 그러니까 그만둬.

    같은 방식으로 우분투 서버를 한 번 더 설정하고 "bali"라고 명명했습니다.

    이 2대의 가상 머신을 사용해, 다음은 Docker로 놀아 보자.