SSH: 빌드, 자동화 및 로그
다음 작업에 적합합니다: xcodebuild 및 fastlane, 종속성 설치, 저장소 동기화, 로그 확인과 백그라운드 스크립트입니다. 네트워크가 잠시 불안정해도 세션 유지 도구를 사용하면 원격 작업을 계속 실행할 수 있습니다.
- 적합한 작업
- 명령, 스크립트, 지속적 빌드
- 장점
- 대역폭 사용량이 낮고 진단 정보가 완전함
- 한계
- macOS 그래픽 화면은 제공하지 않음
LemonVM은 전용 Mac mini 물리 노드를 제공합니다. 명령줄 빌드, 로그 수집과 자동화에는 SSH를 사용하고, Xcode 그래픽 작업·원격 편집·전체 데스크톱이 필요한 작업에는 VNC를 사용하세요. 연결 전에 콘솔에서 호스트 주소, 포트, 사용자 이름과 초기 인증 정보를 확인하세요.
하나의 클라우드 Mac에서 명령줄 작업과 그래픽 작업을 동시에 처리할 수 있습니다. 안정적으로 사용하려면 장시간 작업과 진단은 SSH가, 데스크톱을 직접 확인해야 하는 작업은 VNC가 담당하도록 하세요.
다음 작업에 적합합니다: xcodebuild 및 fastlane, 종속성 설치, 저장소 동기화, 로그 확인과 백그라운드 스크립트입니다. 네트워크가 잠시 불안정해도 세션 유지 도구를 사용하면 원격 작업을 계속 실행할 수 있습니다.
Xcode 그래픽 화면, 시뮬레이터, 에셋 관리, 편집 타임라인과 데스크톱 상태를 직접 확인해야 하는 작업에 적합합니다. 지연 시간이 높다면 반복해서 다시 연결하기보다 먼저 화질과 해상도를 낮추세요.
다른 주문의 주소나 포트를 그대로 사용하지 마세요. 항상 현재 서비스가 콘솔에 표시하는 연결 정보를 기준으로 하세요.
현재 서비스 상세 정보에서 호스트 주소와 SSH 포트를 복사하세요. 주소, 포트와 노드가 연결 대상을 구성하므로 노드나 서비스를 변경한 뒤에는 다시 확인해야 합니다.
사용자 이름은 연결 정보와 한 글자까지 정확히 일치해야 합니다. SSH 명령에 로컬 컴퓨터 사용자 이름, 저장소 계정 또는 팀원 이름을 입력하지 마세요.
개인 키 파일은 현재 로컬 사용자만 읽을 수 있어야 합니다. macOS 또는 Linux에서는 chmod 600 ~/.ssh/lemonvm_key를 실행한 다음 -i 로 파일을 지정하세요.
처음 연결할 때 호스트 지문이 표시되면 먼저 콘솔에 표시된 정보와 대조하세요. 내용이 일치할 때만 known_hosts에 기록하고, 확인을 바로 건너뛰지 마세요.
Host, HostName, User, Port와 IdentityFile을 로컬 SSH 설정에 기록하면 수동 입력 오류를 줄일 수 있습니다. 단, 개인 키 내용은 설정 파일에 입력하지 마세요.
ssh -i ~/.ssh/lemonvm_key -p 포트 사용자명@호스트주소
첫 연결은 중간 화질과 낮은 해상도로 시작하세요. 입력, 클립보드와 창 전환이 정상인지 확인한 뒤 현재 회선 여유에 맞춰 화면 설정을 조정하세요.
콘솔에서 제공하는 VNC 호스트와 포트를 사용하고 SSH 포트를 재사용하지 마세요. 클라이언트에서 조합 주소를 요구하면 해당 형식에 맞춰 호스트와 포트를 입력하세요.
마우스, 키보드와 창 반응을 우선 확보하세요. 글자가 충분히 선명해진 뒤 색상과 이미지 품질을 높여 첫 연결에서 대역폭을 모두 사용하지 않도록 하세요.
고해상도는 프레임당 전송량을 늘립니다. 네트워크가 약한 환경에서는 먼저 단일 모니터와 낮은 해상도를 사용하고 안정된 뒤 원격 데스크톱 크기를 조정하세요.
연결 후 민감하지 않은 텍스트로 양방향 복사를 테스트하세요. 공유 클립보드로 개인 키, 전체 액세스 토큰 또는 장기 인증 정보를 전송하지 마세요.
클라이언트의 전체 화면 종료 및 키보드 캡처 해제 단축키를 기록하세요. 원격 키 조합이 로컬 시스템에 가로채여 세션 이상으로 오인되지 않게 할 수 있습니다.
VNC 화면이 멈추면 먼저 SSH로 부하와 네트워크를 확인하세요. SSH 연결이 유지된다면 물리 노드는 대체로 온라인 상태이며, 문제는 그래픽 세션이나 회선에 있을 가능성이 높습니다.
진단할 때는 한 번에 하나의 변수만 변경하세요. 먼저 SSH 핸드셰이크를 확인하고 네트워크 탐색을 관찰한 뒤 검증 가능한 원격 명령을 실행하세요. 이렇게 하면 인증 정보, 포트, 회선과 작업 환경 문제를 구분할 수 있습니다.
Connecting to 응답이 없으면 주소, 포트와 로컬 출구 제한을 확인하세요.$ ssh -v -p 포트 사용자명@호스트주소
debug1: Connecting to host [주소] port [포트]
debug1: Server host key: SHA256:[지문]
debug1: Authentication succeeded (publickey)
$ ping -c 5 호스트주소
5 packets transmitted, 5 packets received
round-trip min/avg/max = 41.2/44.8/49.1 ms
$ ssh lemon-node "xcodebuild -version"
Xcode [현재 버전]
Build version [현재 빌드 번호]
$ ssh lemon-node "cd ~/project && xcodebuild build"
** BUILD SUCCEEDED **
아래 표는 다양한 접속 위치에서 싱가포르, 도쿄, 서울, 홍콩, 미국 서부까지의 상대적 차이를 확인하기 위한 자료입니다. 대화형 VNC는 지연과 지터가 중요하고, 백그라운드 빌드는 연결 안정성과 지속 처리량이 더 중요합니다.
| 접속 위치 및 통신사 | 싱가포르 | 도쿄 | 서울 | 홍콩 | 미국 서부 |
|---|---|---|---|---|---|
| 상하이 · China Telecom | 68 ms | 42 ms | 51 ms | 35 ms | 146 ms |
| 베이징 · China Unicom | 91 ms | 54 ms | 46 ms | 58 ms | 139 ms |
| 선전 · China Mobile | 53 ms | 67 ms | 76 ms | 24 ms | 168 ms |
| 타이베이 · 고정 회선 | 62 ms | 39 ms | 48 ms | 31 ms | 126 ms |
| 로스앤젤레스 · 기업용 광섬유 | 171 ms | 112 ms | 124 ms | 143 ms | 27 ms |
읽는 방법: 같은 접속 위치에서는 가로 방향의 수치를 우선 비교하세요. VNC에 사용할 때는 지터와 패킷 손실도 함께 지속적으로 확인하세요. 실제 연결 품질은 로컬 Wi-Fi, 통신사 출구, 국제 라우팅과 백그라운드 전송의 영향을 함께 받습니다.
노드를 바꾸고 화질을 조정하며 클라이언트를 재시작하는 일을 동시에 하지 마세요. 아래 6단계를 하나씩 확인하고 각 단계 전후의 지연, 패킷 손실 또는 조작 반응을 기록하세요.
유선 네트워크나 안정적인 5GHz Wi-Fi로 전환하고 로컬 다운로드와 클라우드 동기화를 일시 중지하세요. 같은 로컬 네트워크의 다른 기기도 불안정하다면 먼저 로컬 회선을 점검하세요.
최소 몇 분 동안 연속으로 탐색하여 안정적인 고지연과 간헐적 패킷 손실을 구분하세요. 짧은 순간의 급등은 VNC 마우스 튐과 화면 멈춤을 일으킬 수 있습니다.
싱가포르, 도쿄, 서울, 홍콩, 미국 서부 중 주요 접속 방향에 가까운 노드를 선택하세요. 팀은 주요 작업자나 빌드 의존성이 있는 방향을 기준으로 판단해야 합니다.
먼저 색상 품질, 압축 수준 또는 프레임 속도를 낮추고 입력 반응이 개선되는지 확인하세요. 화면은 선명하지만 조작 지연이 높다면 대역폭 설정만 높이지 마세요.
일시적으로 단일 화면과 낮은 해상도로 전환하세요. 반응이 크게 좋아진다면 프레임당 데이터량이 현재 회선에 적합한 범위를 초과한 것입니다.
저장소 가져오기, 종속성 다운로드, 에셋 업로드, 결과물 반환과 원격 동기화 작업을 확인하세요. 대용량 파일 전송은 실시간 VNC 조작과 겹치지 않게 실행해야 합니다.
원격 연결의 보안 경계는 로컬 키, 초기 인증 정보, 세션 잠금과 팀 인수인계가 함께 구성합니다. 장기 액세스 정보는 공개 채팅이나 저장소에 붙여 넣지 마세요.
기기마다 별도의 키를 사용하고 개인 키는 관리되는 단말에만 보관하세요. 기기가 팀에서 제외되거나 분실되면 해당 공개 키를 즉시 제거하세요.
최초 로그인 후 환경을 확인하고 임시 인증 정보를 변경하세요. 스크립트, 빌드 로그 또는 저장소 설정에 바로 사용할 수 있는 접속 정보를 남기지 마세요.
잠시 자리를 비울 때는 원격 데스크톱을 잠그고 실행 중인 백그라운드 작업은 종료하지 마세요. 공유 작업 공간에서는 로컬 컴퓨터도 함께 잠가야 합니다.
여러 명이 협업할 때 누가 언제 작업했는지 기록하고 하나의 장기 키를 공유하지 마세요. 인수인계 시 작업 상태, 로그 위치와 남은 단계를 안내하세요.
VNC 화면이 사라졌다고 물리 노드가 중지된 것은 아닙니다. 먼저 다른 연결 채널로 상태를 확인하여 빌드를 중복 실행하거나 결과물을 덮어쓰거나 실행 중인 작업을 중단하지 않도록 하세요.
먼저 로컬 네트워크를 확인한 뒤 대상 호스트와 포트를 테스트하세요. 네트워크가 복구되면 다시 연결하고 작업 로그와 프로세스 상태를 확인한 후 원래 명령을 바로 반복 실행하지 마세요.
확인 항목: 로컬 출구, 대상 포트, 최근 로그 시간콘솔에서 현재 서비스 상태를 확인한 뒤 SSH로 시스템 응답을 검증하세요. 복구 후 전원과 세션 설정을 확인하여 장시간 작업 중 부적절한 절전 상태에 들어가지 않게 하세요.
확인 항목: SSH 응답, 시스템 시간, 실행 중인 프로세스디스플레이 설정을 낮추고 그래픽 세션을 다시 연결하세요. 작업 상태를 확인하기 전 전체 노드를 재시작하지 마세요. 백그라운드 빌드는 계속 정상 실행 중일 수 있습니다.
확인 항목: 원격 부하, 그래픽 세션, 클라이언트 설정다시 연결한 후 로그, 종료 코드와 결과물 디렉터리를 확인하세요. 원래 작업이 종료되었거나 실패한 것을 확인한 뒤에만 다음 빌드를 시작하여 같은 출력 위치에 동시에 기록하지 않도록 하세요.
확인 항목: 프로세스 ID, 종료 코드, 결과물 수정 시간