가상환경에서 Ubuntu 20.04 LTS 설치 및 SSH통신까지

CHAN LIM·2023년 12월 21일
0

Engineer Basis

목록 보기
1/7

0. Linux, Ubuntu 그리고 CentOS

  • Linux

    • 리눅스는 리누스 토르발스가 개발한 컴퓨터 운영체제
    • 유닉스 기반이며, 다중 사용자, 다중 작업(멀티태스킹), 다중 스레드를 지원한다.
      - 다중 작업에 적합한 가벼운 운영체제
      - 서버로 작동하는데 최적화됨
      - 오픈 소스 = 무료

    • 대중적으로 UbuntuCentOS가 많이 사용된다.
      - 이외 다양한 종류가 있음
      페도라, 민트, 오픈수세...


  • Ubuntu

    • 영국의 캐노니컬이 제작
    • 쉬운 설치와 이용방법 덕분에 초보자가 쉽게 접근 가능
    • 개인용 워크스테이션으로 많이 사용
      • 개인이 개발한 서비스만을 위한 고성능 컴퓨터 시스템
    • 마찬가지로 서버용으로도 많이 사용되는데, CentOS보다 점유율은 약간 낮은 편

  • CentOS

    • CentOS는 Community Enterprise Operating System의 약자로
      Red Hat 이 공개한 RHEL을 그대로 가져와 브랜드와 로고만 제거하고 배포한 배포본
    • 즉, 레드햇의 소스를 그대로 사용하여 레드햇의 OS, 패키지 구성이 동일 100%호환
    • 업데이트가 느리다.
      • 이 점이 서버용으로 적합하다.

소결

개인 조사에 따르면,
기업 환경에는 CentOS가 빈번히 사용
개인 환경 및 최신 기술 적용에는 Ubuntu가 적합한 편



1. Ubuntu 20.04 설치

환경
1. 서버용 컴퓨터에 원격 접속
2. 해당 머신에서 VirtualBox 프로그램으로 가상 머신을 띄어 설치할 예정

1. VM 생성하기

Virtual Machine 실행 후 New 클릭

이름, RAM 메모리 크기 설정

  • 메모리에 경우, 해당 머신에서 실행할 프로그램들을 고려해서 결정해야한다.
    • 현재는 하나의 머신에서 여러 프로그램을 실행할 예정이기에,
      대략 10GB인 10240MB로 설정하였다.

디스크 유형과 크기 결정

  • 역시나 해당 머신에서 실행할 프로그램들을 고려해서 결정해야한다.
    • OS, Java, Nifi, DB등등 여러 프로그램을 설치할 것이므로 대략 100GB 할당
  • 디스크 이미지 유형
    • VDI : VirtualBox에서 사용하는 디스크 이미지
    • VHD : MS 하이퍼바이저용 디스크 이미지
    • VMDK : VMware 가상화 솔루션용 디스크 이미지

가상 머신 생성 완료


2. Host Network Adapter 적용

File에 Host Network Manager 클릭

  • VirtualBox의 네트워크 구성을 관리하는 도구
    • 이 기능은 호스트 시스템가상 머신 간의 네트워크 연결을 관리하고 설정한다.
    • 사용하면 가상 머신들 간 또는 가상 머신과 호스트 간 네트워크 통신을 구성할 수 있습니다.

vBox 생성 후 저장

  • 자동 할당되는 DHCP를 원하지 않으면 Enable 해제 후
    개인의 원하는 IP설정
    • 본인은 192.168.88.1/24 대역폭으로 설정

생성한 머신의 설정에서 네트워크 설정

  • 네트워크 설정에서 Adapter 2를 활성화한 후,
    사전에 생성한 vboxnet1을 설정


3. 가상 머신 실행

가상 머신 실행

서버용 머신이므로 최소 설치를 선택 후 계속한다.

  • 참 ! 필요한 소프트 웨어 알아서 설치해서 쓸 분들은 Normal installation 하지 말고
    Minimal installation 하시는 걸 추천 드립니다.

디스크 포맷 후 설치한다는 내용이므로 그대로 이어가면 된다.

이름 및 Password 설정

Enter를 누르면 재부팅 후 실행된다.

실행 완료


4. root 계정 활성화

Ctrl + Alt + t
동시에 누르면 터미널이 나타난다.

  • root 계정을 활성화하려면 Password가 요구된다.
    sudo passwd root 하면 password를 설정할 수 있다.
  • 설정 후, su root 입력하면 Password 입력 후 root 계정으로 전환된다.

5. 고정 IP 설정

사전에 Host Network를 설정했더라도 Ubuntu 내부에서 네트워크를 잡아줘야한다.

  • 일단, 현재 IP를 확인하기 위해
    ifconfig를 입력한다.

    • (아마 설치되어있지 않을 것이기에,

      sudo apt-get update
      sudo apt install net-tools

      작업을 진행한다.)

    • apt-get update를 하는 이유

      • 이는 시스템 로컬 패키지 DB를 업데이트하여
        패키지 리스트 업데이트최신 보안 업데이트버그 픽스 적용을 위함이다.
        권장사항으로 어떤 패키지를 설치하기 전에 매번 진행해주자.

패키지 설치 후 명령어를 입력하면, IP 및 네트워크 정보 확인이 가능하다.

  • enp0s8
    • 이 부분이 사전에 적용한 네트워크 어댑터인데, DHCP로 동작하는 것으로 보인다.
      (본인이 설정한 192.168.88.0 의 대역폭이 아님)

vi /etc/netplan/(Tap을 두번 누르면 해당 파일이 설정된다.)
sudo nano /etc/netplan/(Tap을 두번 누르면 해당 파일이 설정된다.)
network:
  version: 2
  ethernets:
    enp0s8:
      dhcp4: false
      addresses: [192.168.88.102/24]
      gateway4: 192.168.88.1
      nameservers:
        addresses: [8.8.8.8]
  • 고정 IP를 설정하기 위해 해당 Network Manager의 설정을 변경한다.
    • nano는 간단하고 사용하기 쉬운 텍스트 편집기로,
      터미널에서 직접 텍스트 파일을 편집할 때 유용하게 사용

고정 IP로 변경됨을 확인

  • netplan의 설정을 변경했기 때문에,
sudo netplan apply

를 해줘야한다.

5.5 GUI로 고정 IP 변경하기

네트워크 마크 클릭하면 설정이 나온다.

최근 트렌드는 GUI로 변경하는 추세로 보인다.

  • CLI에 적합한 Networkd에서 Network Manager로 변경된 것을 보아하니,

6. 외부에서 ssh로 가상 머신 연결하기

Test 상황이므로, 방화벽을 비활성화한다.

  • 상용 프로젝트라면 환경 파악 후 일일이 IP 및 Port 권한 설정을 해야한다.
sudo ufw diable
sudo ufw status

외부 접근을 위해 PortForwarding을 설정한다.

  • 현재 서버 컴퓨터 안에 가상 머신을 설치했기 때문에 해당 작업을 진행해야한다.

SSH 설정을 위해 OpenSSH-Server를 설치한다.

sudo apt-get update
sudo apt install openssh-server

ssh 활성화 확인

MobaXTerm으로 사전에 설정한 PortForwarding으로 접속 시도한다.

접속 성공

  • 다만, .Xauthoriy 오류가 나타난다.

.Xauthority 파일은 X Window System에서 사용자의 인증 정보를 저장하는 파일입니다.
이 파일이 손상되거나 권한 문제가 발생할 경우, 사용자가 그래픽 환경에 로그인하는 데 문제가 발생할 수 있습니다.
.Xauthority 오류는 이 파일과 관련된 문제로 인한 것입니다.

xauth info
ls -al /home/chan02/.Xauthority

ls -al /home/chan02/.Xauthority 명령어는
리눅스 시스템에서 /home/chan02/ 디렉터리에 있는 .Xauthority 파일의 자세한 정보를 나열하는 명령어

이후, 다음에 접속할 때 해당 오류가 사라진다.


출처

고정 IP
ssh
외부 접근

profile
클라우드, 데이터, DevOps 엔지니어 지향 || 글보단 사진 지향

0개의 댓글