목차
홈 리전에서 작은 실습 인스턴스 준비하기
예제는 계정 홈 리전의 AMD VM.Standard.E2.1.Micro 1대, RAM 1 GB와 Ubuntu 24.04 LTS x86 이미지를 사용합니다. 작은 관리 실습 환경이며 처리량 권장 사양은 아닙니다. Oracle Console에서 정확한 이미지와 유형에 무료 조건이 적용되는지 확인하세요.
인스턴스, 네트워크와 콘솔 연결을 관리할 권한, 컴퓨터의 OpenSSH가 필요합니다. 로컬 명령은 Linux, macOS 또는 WSL 셸에서 실행합니다. 유휴 인스턴스는 회수될 수 있으므로 먼저 지속 한도와 무료 체험의 차이를 검토하세요.
생성 전에 SSH 키 저장하기
다음은 내 컴퓨터에서 실행합니다. 같은 파일명이 있으면 덮어쓰지 말고 이후 명령까지 다른 이름으로 통일하세요. 요청하면 암호 문구를 설정합니다.
mkdir -p ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa -b 3072 -f ~/.ssh/oci-ubuntu-free
chmod 600 ~/.ssh/oci-ubuntu-free
cat ~/.ssh/oci-ubuntu-free.pub개인 키 파일은 안전하게 보관하고 생성 화면에는 .pub 공개 키만 올립니다. 사용자 공개 키는 로그인할 사람을, 나중에 확인할 호스트 키는 접속 대상 서버를 식별합니다. 두 키를 혼동하지 마세요.
컴파트먼트, 리전, 인스턴스 이름과 식별자를 목록에 기록합니다. ubuntu-free-ssh는 새 실험의 예시 이름이며 이름만으로 OCI 자원을 고유하게 식별할 수는 없습니다.
공개 서브넷과 제한된 SSH 경로 구성하기
Networking에서 이 실험 전용 VCN과 리전 공개 서브넷을 만듭니다. 예시는 각각 10.20.0.0/16과 10.20.1.0/24이며 기존 네트워크에 연결한다면 주소 대역이 겹치지 않아야 합니다. VCN에 인터넷 게이트웨이를 만들고 활성화하세요.
서브넷에 연결된 라우팅 테이블에 목적지 0.0.0.0/0, 대상 인터넷 게이트웨이 규칙을 추가합니다. 인스턴스에는 별도의 공인 IPv4 할당도 필요합니다. 경로만 만든다고 주소가 생기지는 않습니다.
보안 목록의 상태 저장 인바운드 규칙은 현재 컴퓨터의 공인 IPv4/32, TCP, 출발지 포트 All, 목적지 포트 22로 설정합니다. Wi-Fi 내부 주소가 아닌 인터넷에서 보이는 주소를 사용하세요. 필요한 기본 아웃바운드와 ICMP 규칙은 유지합니다.
이 전용 목록의 기본 전체 공개 SSH 규칙은 교체하세요. 좁은 허용 규칙이 다른 넓은 허용 규칙을 덮어쓰지는 않으므로 연결된 모든 보안 목록과 NSG를 확인해야 합니다. 예제에는 별도 NSG, NAT나 로드 밸런서를 추가하지 않습니다. 컴퓨터의 공인 IP가 바뀌면 /32 규칙도 갱신하세요.
무료 조건에 맞는 Ubuntu 인스턴스 생성하기
홈 리전에서 Compute → Instances → Create instance를 열고 올바른 컴파트먼트와 ubuntu-free-ssh 이름을 선택합니다. 생성 전에 다음 값을 확인하세요.
표를 가로로 움직이면 나머지 열을 볼 수 있습니다.
| 설정 | 이 실습의 선택 |
|---|---|
| 이미지 | 적격 Canonical Ubuntu 24.04 LTS 플랫폼 이미지, x86/amd64 |
| 유형 | AMD VM.Standard.E2.1.Micro, RAM 1 GB |
| 부트 볼륨 | 50 GB, 적격 성능 설정과 남은 한도 확인 |
| 네트워크 | 전용 공개 서브넷과 공인 IPv4 할당 |
| SSH 키 | oci-ubuntu-free.pub 공개 키 업로드 |
| 추가 항목 | 추가 볼륨, 유료 이미지 소프트웨어와 선택형 관리 서비스 없음 |
홈 리전의 부트·블록 볼륨 합계 200 GB 한도에는 기존 볼륨도 포함됩니다. 각 자원의 자격과 예상 금액을 확인하세요. 체험 크레딧이 비용을 가린다고 지속 무료인 것은 아닙니다. 불명확하면 한도와 비용 체크리스트로 돌아갑니다.
다음 내용을 로컬 텍스트 파일로 저장해 Advanced options → Management → Initialization script에 업로드하세요. cloud-init이 첫 부팅 콘솔에 공개 호스트 키와 지문을 출력하게 하며 개인 키는 포함하지 않습니다.
#cloud-config
ssh:
emit_keys_to_console: true설정을 검토한 후 생성합니다. 적격 용량이 없으면 실수로 유료 유형을 고르지 말고 중단해 대안을 검토하세요. Running 상태가 되면 인스턴스 OCID, 부트 볼륨 OCID와 공인 IPv4를 기록합니다.
콘솔 기록으로 게스트 서버의 지문 확인하기
첫 SSH 연결을 승인하기 전에 로그인된 OCI Console에서 정확한 인스턴스를 엽니다. OS Management 또는 Resources의 Console connection에서 Launch Cloud Shell connection을 선택합니다. 콘솔 기록을 캡처하는 데 필요한 연결이 만들어지며 계정 권한이 필요합니다.
Console history → View current history에서 첫 부팅 출력을 저장하거나 내려받습니다. cloud-init의 SSH HOST KEY FINGERPRINTS 부분에서 게스트 호스트 키의 유형과 SHA256 지문을 기록하세요. 허용된 사용자 키의 지문과 구분해야 합니다.
Console connection 자원에 표시된 지문은 OCI 콘솔 접속 지점을 인증하는 값이며 일반 SSH로 접속할 게스트의 키가 아닙니다. 부팅 기록의 게스트 키를 사용하세요. 기록이 없으면 문서화된 콘솔 복구 절차로 확인하고 검증하지 않은 ssh-keyscan 결과로 대신하지 않습니다.
내 컴퓨터에서 연결하고 Ubuntu 확인하기
아래 203.0.113.20은 문서용 주소입니다. 인스턴스의 공인 IPv4로 바꿔 컴퓨터 터미널에서 실행하세요. 첫 연결 질문의 키 유형과 SHA256 지문이 앞서 저장한 게스트 기록과 일치할 때만 승인합니다.
ssh -o StrictHostKeyChecking=ask -i ~/.ssh/oci-ubuntu-free ubuntu@203.0.113.20Ubuntu 플랫폼 이미지의 사용자는 opc가 아닌 ubuntu입니다. 접속한 서버 안에서 다음 읽기 전용 확인을 실행하세요.
cloud-init status --wait
cat /etc/os-release
dpkg --print-architecture
free -h
df -h /
sudo ss -lntp
sudo iptables -S초기화 완료, Ubuntu 24.04, amd64, 예상 메모리와 디스크, 수신 중인 SSH를 확인합니다. 컴퓨터에서의 접속 성공은 이 공개 SSH 경로를 검증한 것이며 애플리케이션 용량을 입증하거나 HTTP 사이트를 게시한 것은 아닙니다.
기존 방화벽을 유지하며 업데이트하기
cloud-init이 정상 완료된 뒤 패키지 정보를 갱신하고 업그레이드 내용을 확인한 후 승인합니다.
sudo apt update
sudo apt upgrade기존 세션을 유지하면서 두 번째 SSH 연결을 시험하세요. 재부팅이 필요하다면 아직 실습용일 때 sudo reboot를 실행하고 다시 연결해 기본 점검을 반복합니다. 재부팅은 SSH 세션을 의도적으로 종료합니다.
이 OCI Ubuntu 이미지에 UFW를 설치하거나 활성화하지 마세요. 이미지의 지속 방화벽 설정 및 필수 iSCSI 규칙과 충돌할 수 있습니다. 기존 규칙을 유지하고, 웹사이트를 추가할 때는 OCI 네트워크 규칙과 호환되는 게스트 규칙을 모두 설정해야 합니다.
표를 가로로 움직이면 나머지 열을 볼 수 있습니다.
| 문제 | 먼저 확인할 항목 |
|---|---|
| SSH 시간 초과 | 공인 IPv4, 게이트웨이 경로, 현재 출발지 /32와 모든 네트워크 규칙 |
| Permission denied (publickey) | ubuntu 사용자, 선택한 개인 키와 업로드한 공개 키 |
| 호스트 키 불일치 | 인스턴스 신원과 신뢰한 부팅 기록; known_hosts를 무작정 삭제하지 않기 |
| 초기화·패키지 오류 | 콘솔 기록, cloud-init 상태와 저장소 연결 |
필요하면 SSH 오류 진단으로 원인을 좁힙니다. 다음 단계는 HTTPS 사이트 배포이며 해당 안내의 OCI 방화벽 분기를 그대로 적용해야 합니다.
복구 사본을 유지하거나 이 실험만 종료하기
인스턴스를 신뢰하기 전에 데이터와 재구축 기록을 서버 밖에 저장하고 복원을 시험하세요. 위 절차는 관리 접근을 확인한 것이지 운영 준비 전체를 검증한 것은 아닙니다. 웹 파일이 있다면 별도 컴퓨터에서 파일 복원부터 확인할 수 있습니다.
사용을 마치면 필요한 데이터를 내보낸 뒤 기록한 컴파트먼트에서 OCID가 일치하는 인스턴스를 찾아 Terminate를 선택합니다. 부트 볼륨은 기본적으로 보관됩니다. 해당 볼륨이 더 이상 필요 없고 내보낸 사본을 검증했을 때만 영구 삭제를 선택하세요.
남은 볼륨, 백업, 주소와 콘솔 연결을 목록과 대조합니다. 전용 서브넷과 게이트웨이도 다른 자원이 사용하지 않을 때만 제거하세요. 실험 하나를 정리하려고 계정 전체를 삭제하지 말고 잔존 자원과 이후 사용량을 확인합니다.
제공업체와 소프트웨어 문서 검토일은 2026년 9월 25일입니다. 실제 계정을 생성해 검증한 결과나 무료 서비스 보장이 아닙니다. 새 인스턴스에서 계정에 적용되는 조건을 확인하세요.
자주 묻는 질문
이것은 로컬 가상 머신인가요?
제공업체가 운영하는 공인 주소가 있는 VM입니다. SSH 출발지는 의도적으로 내 컴퓨터의 공인 IP로 제한하며 내 컴퓨터를 계속 켜둘 필요는 없습니다.
무료 유형을 만들 수 없다면 어떻게 하나요?
기다리거나 다른 문서화된 프로그램을 검토하세요. 다른 유형·리전·큰 자원이 같은 무료 조건에 해당한다고 가정하면 안 됩니다.
이 절차로 웹사이트도 바로 열리나요?
SSH 관리 접근까지 다룹니다. 웹사이트에는 웹 서버, DNS, HTTPS와 양쪽 방화벽의 해당 포트 규칙이 추가로 필요합니다.