호스트 지문 수집 및 확인
최초 연결 전에 ED25519 호스트 공개 키를 수집하고 지문을 계산한 뒤 인도 자료와 대조하세요. 확인하지 않은 상태에서 경고를 바로 무시하지 마세요.
ZoneMini는 가상 머신이 아닌 독립 물리 호스트를 제공합니다. SSH로 빌드 명령을 실행하고, macOS 화면 공유로 그래픽 작업을 처리하거나, 고정 노드를 CI Runner로 등록할 수 있습니다. 먼저 연결 정보를 확인한 후 접속 방식을 선택하고, 채팅 기록이나 파이프라인 로그에 자격 증명이 노출되지 않도록 하세요.
세 가지 방식을 함께 사용할 수 있습니다. 일상적인 자동화에는 SSH 또는 Runner를 우선 사용하고, Xcode 화면 확인, 시스템 설정 변경 또는 그래픽 진단이 필요할 때만 화면 공유를 여세요.
저장소 가져오기, 의존성 설치, 테스트 실행, Xcode 명령줄 빌드, 로그 확인, 산출물 동기화 및 디스크 점검에 사용합니다. 안정적인 스크립트에는 키 인증을 사용하고 노드 별칭을 로컬 SSH 설정에 등록하세요.
Xcode 프로젝트 확인, 그래픽 디버깅, 키체인 접근 권한 점검, 디스플레이 설정 변경 및 아카이브 결과 확인에 사용합니다. 작업이 끝나면 세션을 잠그고 데스크톱이나 클립보드에 민감한 정보를 남기지 마세요.
노드를 기존 CI 시스템에 등록하면 저장소, 브랜치 또는 작업 유형별로 태그를 할당할 수 있습니다. Runner에는 별도의 작업 디렉터리와 제한된 토큰을 사용하고, 캐시와 빌드 산출물에는 명확한 정리 규칙을 설정하세요.
연결 실패는 호스트 장애보다 노드 주소, 사용자 이름, 네트워크 정책 또는 주문 상태가 일치하지 않아 발생하는 경우가 많습니다. 아래 순서대로 확인하면 반복적인 시행착오를 줄일 수 있습니다.
콘솔에 로그인해 인스턴스가 인도되었는지 확인하고, 현재 주문에 해당하는 모델, 노드 및 대여 기간을 확인하세요. 연결 정보는 해당 인스턴스와 항목별로 일치해야 합니다.
콘솔에서 제공한 호스트 주소를 복사하세요. 이전 지원 요청, 오래된 스크립트 또는 팀 채팅 기록의 주소를 재사용하지 마세요. 여러 노드를 사용하는 팀은 주소에 용도 태그를 추가하세요.
SSH 사용자 이름과 그래픽 세션 사용자 이름은 서로 다른 접속 방식에 사용될 수 있습니다. 기본 사용자 이름을 추측하지 말고 스크립트에 임시 비밀번호를 하드코딩하지 마세요.
임시 자격 증명은 최초 접속에만 사용하세요. 로그인에 성공하면 즉시 변경하고, 새 자격 증명은 팀에서 승인한 비밀번호 관리 절차에 보관하세요.
현재 네트워크에서 대상 포트로 나가는 연결이 허용되는지 확인하세요. 기업 네트워크, 프록시 및 보안 소프트웨어가 SSH 또는 그래픽 연결을 제한할 수 있으므로 네트워크 관리자에게 먼저 확인하세요.
노드, 용도, 담당자, 호스트 지문 및 자격 증명 교체 시점을 기록하세요. 최초 연결 후 호스트 지문 변경 경고를 무시하지 마세요.
임시 자격 증명, SSH 개인 키, 저장소 토큰 또는 서명 인증서를 공개 이슈, 전체 파이프라인 로그나 암호화되지 않은 문서에 붙여넣지 마세요. 지원 요청 시에는 민감 정보를 제거한 명령 출력만 제공하세요.
콘솔에서 연결 정보 확인하기아래 명령에는 실제 노드 주소나 자격 증명이 아닌 플레이스홀더가 사용되었습니다. 플레이스홀더를 콘솔에서 제공한 정보로 바꾸고 신뢰할 수 있는 네트워크에서 실행하세요.
최초 연결 전에 ED25519 호스트 공개 키를 수집하고 지문을 계산한 뒤 인도 자료와 대조하세요. 확인하지 않은 상태에서 경고를 바로 무시하지 마세요.
ZoneMini 노드용 키 쌍을 별도로 생성하세요. 개인 키는 로컬의 관리되는 기기에 보관하고 공개 키만 원격 인증 목록에 추가하세요.
SSH 설정에 호스트 주소, 사용자 이름, 키 경로 및 세션 유지 매개변수를 저장해 매번 직접 입력하거나 다른 노드를 혼동하지 않도록 하세요.
키 로그인이 성공한 것을 확인한 뒤 임시 자격 증명을 변경하세요. 키를 확인하기 전에 유일하게 사용 가능한 로그인 방식을 삭제하지 마세요.
ssh-keyscan -t ed25519 <node-address> > zonemini_hostkey
ssh-keygen -lf zonemini_hostkey
ssh-keygen -t ed25519 -f ~/.ssh/zonemini_ed25519
ssh-copy-id -i ~/.ssh/zonemini_ed25519.pub <user>@<node-address>
ssh -i ~/.ssh/zonemini_ed25519 <user>@<node-address>
Host zonemini-build
HostName <node-address>
User <user>
IdentityFile ~/.ssh/zonemini_ed25519
ServerAliveInterval 30
ServerAliveCountMax 3
화면 공유는 Xcode 그래픽 디버깅, 시스템 설정 확인 및 아카이브 점검에 적합합니다. 빌드 스크립트, 로그 수집 및 일괄 작업은 계속 SSH로 처리하는 것이 좋습니다.
macOS Finder에서 ‘이동’과 ‘서버에 연결’을 선택하고, 인도 자료에 기재된 서버 주소를 입력한 뒤 승인된 사용자 이름과 자격 증명으로 세션에 들어가세요.
vnc://<node-address>
Finder의 서버에 연결 메뉴를 사용하고 출처가 불분명한 바로 가기에 자격 증명을 저장하지 마세요.
사용자 이름과 노드 주소를 확인한 뒤 자격 증명을 입력하세요. 여러 사람이 협업할 때 동일한 장기 로그인 정보를 공유하지 마세요.
네트워크가 불안정하면 먼저 해상도나 색상 품질을 낮추세요. 고해상도 데스크톱은 전송량과 입력 지연을 늘립니다.
개인 키, 전체 토큰 또는 평문 비밀번호를 복사하지 마세요. 세션 간에 붙여넣기하기 전에 대상 창과 현재 사용자를 확인하세요.
클라이언트를 닫는 것만으로 데스크톱에서 로그아웃되는 것은 아닙니다. 작업이 끝나면 세션을 잠그고 더 이상 필요하지 않은 민감한 창을 닫으세요.
Windows 또는 Linux 워크스테이션에는 호환되는 그래픽 연결 도구가 필요합니다. 클라이언트마다 단축키, 클립보드, 색상, 확대/축소 및 다중 디스플레이 지원이 다를 수 있으므로 먼저 민감하지 않은 작업으로 테스트하세요.
대상 연결 프로토콜, 암호화 전송 및 사용자 지정 해상도를 지원하는 클라이언트를 선택하세요. 설치 출처는 팀의 검토를 거쳐야 하며 버전을 최신 상태로 유지하세요.
그래픽 세션을 테스트하기 전에 DNS, 라우팅 및 대상 포트를 확인하세요. 회사 프록시, 외부 방화벽 및 무선 네트워크 전환으로 세션이 중단될 수 있습니다.
먼저 단일 모니터와 중간 해상도로 확인한 다음 화면 크기를 단계적으로 높이세요. 검은 화면이나 화면 잘림이 발생하면 낮은 해상도로 돌아가 세션을 다시 시작하세요.
안정적으로 입력하고 로그를 명확히 읽으며 자주 사용하는 단축키가 올바르게 매핑되고 세션을 안전하게 종료할 수 있어야 일상적인 프로세스에 포함할 수 있습니다. 작업을 완전히 스크립트화할 수 있다면 SSH 또는 CI Runner를 우선 사용하세요.
Runner에는 전용 계정, 전용 작업 디렉터리 및 제한된 토큰을 사용하세요. 먼저 최소 테스트 파이프라인을 완료한 후 서명 빌드, 캐시 및 아카이브 단계를 추가하세요.
소스 코드, 의존성 캐시, 빌드 중간 파일 및 최종 산출물을 분리해 정리 정책을 설정하고 디스크 사용량을 쉽게 파악하세요.
토큰에는 대상 저장소와 필요한 작업만 승인하세요. 개인 액세스 토큰을 재사용하거나 저장소 또는 빌드 출력에 토큰을 기록하지 마세요.
Xcode 버전, 프로젝트 유형, 모델 또는 작업 부하에 따라 태그를 설정해 호환되지 않는 작업이 잘못된 환경으로 배정되지 않도록 하세요.
먼저 의존성 검사와 단위 테스트를 실행한 다음 아카이브를 수행하세요. 실패 시 필요한 로그만 보관하고 사용자 디렉터리 전체를 무조건 업로드하지 마세요.
산출물이 대상 저장소에 들어간 것을 확인한 뒤 임시 자격 증명, 임시 키체인, 만료된 캐시 및 더 이상 필요하지 않은 빌드 디렉터리를 삭제하세요.
set -euo pipefail
WORK_DIR="$HOME/ci-work/project"
RESULT_DIR="$HOME/ci-results"
mkdir -p "$WORK_DIR" "$RESULT_DIR"
cd "$WORK_DIR"
git fetch --prune
git checkout "$CI_COMMIT_REF"
xcodebuild \
-scheme "$CI_SCHEME" \
-destination "generic/platform=iOS" \
test
xcodebuild \
-scheme "$CI_SCHEME" \
-archivePath "$RESULT_DIR/App.xcarchive" \
archive
find "$WORK_DIR" -name "*.tmp" -delete
권한에는 담당자, 용도 및 만료 시점이 있어야 합니다. 장기간 관리되지 않는 공유 계정, 저장소 토큰 및 임시 파일은 고정 빌드 환경의 감사 가능성을 점차 떨어뜨립니다.
각 유지 관리자는 전용 키를 사용하세요. 구성원이 프로젝트를 떠나면 해당 공개 키만 제거해 다른 사용자의 접속에는 영향을 주지 않도록 하세요.
공유 환경이 필요하더라도 개인 로그인과 자동화 계정을 분리하세요. Runner에서 관리자의 일상 계정을 사용하지 마세요.
저장소 토큰, Runner 등록 토큰 및 임시 접속 자격 증명의 교체 기록을 남기고 만료된 토큰은 즉시 삭제하세요.
빌드 작업에는 필요한 저장소와 브랜치 권한만 부여하세요. 산출물 업로드와 소스 코드 읽기에는 서로 다른 자격 증명을 사용할 수 있습니다.
데스크톱을 떠나기 전에 세션을 잠그고 민감한 내용이 포함된 창을 닫으며 더 이상 필요하지 않은 클립보드 내용을 지우세요.
작업이 끝나면 임시 개인 키, 일회용 토큰, 임시 키체인 및 더 이상 사용하지 않는 인증 파일을 삭제하세요.
비밀번호, 주소 및 클라이언트를 무작정 계속 바꾸지 마세요. 먼저 오류 유형, 발생 시간, 로컬 네트워크, 노드 및 접속 방식을 기록한 다음 해당 점검을 수행하세요.
| 현상 | 먼저 확인할 항목 | 실행할 작업 | 지원 요청 시 첨부할 내용 |
|---|---|---|---|
| 연결 시간 초과 | 노드 주소, 로컬 네트워크, 외부 규칙, 대상 포트 | 신뢰할 수 있는 네트워크로 전환하고 포트 연결을 테스트하며 이전 주소를 사용하고 있지 않은지 확인하세요 | 발생 시간, 노드, 클라이언트 네트워크 유형, 민감 정보 제거 탐색 결과 |
| 인증 실패 | 사용자 이름, 키 경로, 파일 권한, 자격 증명 변경 여부 | 상세 SSH 로그로 선택된 키를 확인하고 승인된 공개 키를 대조하세요 | 오류 행, 사용자 이름, 키 지문. 개인 키나 전체 비밀번호는 첨부하지 마세요 |
| 호스트 지문 변경 | 노드 주소 교체, 인스턴스 재생성 또는 로컬 별칭 변경 여부 | 연결을 중지하고 콘솔에서 지문을 다시 확인한 뒤 확인 후 기록을 업데이트하세요 | 노드, 이전 지문, 새 지문 및 최초 발견 시간 |
| 그래픽 세션 검은 화면 | 세션 잠금 여부, 디스플레이 해상도, 클라이언트 호환성 | 해상도를 낮추고 세션을 다시 시작한 뒤 SSH로 시스템 상태를 확인하세요 | 클라이언트 시스템, 클라이언트 버전, 디스플레이 설정 및 민감 정보 제거 스크린샷 |
| 해상도 이상 | 클라이언트 확대/축소, 다중 디스플레이 모드, 창 크기 | 단일 모니터와 중간 해상도로 되돌린 다음 설정을 하나씩 복원하세요 | 기대 해상도, 실제 해상도, 확대/축소 비율 및 클라이언트 유형 |
| 세션이 자주 끊김 | 무선 네트워크 전환, 프록시, 유휴 정책, 회선 불안정 | 안정적인 네트워크를 사용하고 SSH에 연결 유지를 설정하며 장시간 작업은 지속 세션에서 실행하세요 | 중단 빈도, 지속 시간, 네트워크 변경 및 관련 로그 일부 |
nc -vz <node-address> 22
route -n get <node-address>
ssh -vvv zonemini-build 2>&1 | tee ssh-debug.log
주문 번호, ZoneMini M4 Core / ZoneMini M4 Plus / ZoneMini M4 Pro 중 선택한 모델, 노드, 발생 시간, 연결 방식, 재현 단계, 기대 결과 및 민감 정보 제거 로그를 제공하세요. 인증서 개인 키, 저장소 토큰 또는 전체 비밀번호는 업로드하지 마세요.
용도, 동시 작업 수, 필요한 메모리, 대상 노드 및 대여 기간을 준비하세요. 기존 주문의 연결 정보는 콘솔에서 확인하고 설정 문제는 먼저 도움말 센터에서 확인할 수 있습니다.