SSH 명령줄
Git 작업, 의존성 설치, 스크립트 실행, 로그 확인, 테스트 빌드와 CI 작업에 사용합니다. 먼저 SSH로 노드 주소, 인증 정보와 호스트 상태를 확인한 다음 다른 접속 방식을 사용하세요.
- 장시간 빌드와 자동화 스크립트에 적합
- 그래픽 인터페이스가 끊겨도 백그라운드 작업에는 영향을 주지 않음
- 명령 복사, 로그 저장 및 오류 재현이 쉬움
이 가이드는 노드 주소 확인, 호스트 지문 검증, Xcode 그래픽 작업, 코드 전송, 네트워크 최적화와 안전한 로그아웃을 명확한 순서로 정리합니다. 명령줄 작업은 SSH를 우선 사용하고, 완전한 macOS 그래픽 인터페이스가 필요할 때만 원격 세션을 설정하세요.
SSH는 데이터 사용량이 적어 빌드, 로그, 의존성 및 자동화 작업에 적합합니다. 그래픽 원격 접속은 Xcode 인터페이스, 시뮬레이터 확인 및 데스크톱에서만 가능한 설정에 사용하세요.
Git 작업, 의존성 설치, 스크립트 실행, 로그 확인, 테스트 빌드와 CI 작업에 사용합니다. 먼저 SSH로 노드 주소, 인증 정보와 호스트 상태를 확인한 다음 다른 접속 방식을 사용하세요.
Xcode 그래픽 인터페이스 조작, 프로젝트 설정 확인, 시뮬레이터 모니터링과 데스크톱 앱 작업에 사용합니다. 네트워크가 불안정하면 새 세션을 반복해서 만들지 말고 먼저 해상도, 프레임 속도와 색상 품질을 낮추세요.
연결 정보는 주문에 해당하는 콘솔 인스턴스 세부 정보에서 확인해야 합니다. 채팅 기록, 오래된 스크린샷 또는 다른 사람이 전달한 텍스트를 바탕으로 노드 주소와 인증 정보를 입력하지 마세요. 최초 연결 시 호스트 지문 안내가 표시되면 먼저 인스턴스 세부 정보의 지문과 비교하고 완전히 일치할 때만 수락하세요.
노드 리전, 주소, SSH 포트, 사용자 이름과 키 유형을 확인하고 이 필드들이 동일한 주문과 동일한 물리 노드에 속하는지 확인하세요.
개인 키는 현재 로컬 사용자만 읽을 수 있어야 합니다. 클라이언트에서 권한이 너무 넓다고 표시되면 먼저 파일 권한을 조정한 뒤 다시 연결하세요.
알고리즘 유형과 지문 값을 문자 단위로 비교하세요. 일치하지 않으면 연결을 중지하고 기존 기록을 삭제해 경고를 우회하지 마세요.
로그인 후 호스트 이름, 현재 사용자, 시스템 버전, 디스크 여유 공간과 Xcode 경로를 확인한 다음 의존성을 설치하세요.
아래 주소, 사용자 이름, 경로와 프로젝트 이름은 실행할 수 없는 자리표시자입니다. 사용할 때는 콘솔 인스턴스 세부 정보와 실제 프로젝트의 값으로 반드시 바꾸세요.
$ ssh -i /path/to/private_key -p <port> <user>@<node-address>
The authenticity of host cannot be established.
ED25519 key fingerprint is <fingerprint-to-verify>.
Continue connecting only after verification: yes
<user>@<host> % hostname
<instance-hostname>
<user>@<host> % xcodebuild test \
-workspace <project-workspace> \
-scheme <test-scheme> \
-destination 'platform=macOS'
Test Suite '<test-suite>' passed
Executed <test-count> tests, with 0 failures
<user>@<host> % bundle exec fastlane <workflow-name>
[fastlane] Checking project configuration
[fastlane] Running tests
[fastlane] Exporting artifact
[fastlane] Finished without reported errors
그래픽 클라이언트의 필드 이름은 다를 수 있지만 연결 로직은 동일합니다. 주소와 포트는 인스턴스 세부 정보에서 가져오고, 해상도와 화질은 로컬 네트워크에 맞게 설정하며, 클립보드와 파일 공유는 작업에 필요한 최소 범위로 활성화하세요.
콘솔에서 대상 인스턴스가 정상 실행 중인지 확인하고 사용하지 않는 그래픽 세션이 남아 있지 않은지 확인하세요. 여러 사람이 같은 작업 흐름을 사용한다면 서로의 연결을 끊지 않도록 세션 인계 방식을 먼저 정하세요.
인스턴스 세부 정보의 연결 매개변수를 항목별로 복사하세요. 키, 비밀번호 또는 복구 정보를 공용 메모, 공개 코드 저장소, 티켓 스크린샷이나 암호화되지 않은 동기화 디렉터리에 저장하지 마세요.
처음에는 단일 디스플레이, 1920×1080 이하 해상도와 중간 색상 품질을 사용할 수 있습니다. 입력과 화면이 안정적인지 확인한 후 단계적으로 높이세요. 처음부터 고해상도, 고프레임률과 높은 색 심도를 동시에 활성화하지 마세요.
필요할 때만 텍스트 클립보드를 활성화하세요. 디렉터리 매핑은 전용 교환 디렉터리로 제한하고 로컬 사용자 디렉터리, 키 디렉터리 또는 서명 자료가 포함된 경로를 직접 공유하지 마세요.
클라이언트 연결이 끊길 때 작업 유지, 데스크톱 잠금 또는 세션 종료 중 어떤 동작을 하는지 확인하세요. 작업을 마치면 명시적인 종료 절차를 사용하고 클라이언트 창만 닫은 뒤 세션이 끝났다고 가정하지 마세요.
전송 방식을 선택할 때 추적 가능성, 증분 업데이트, 파일 권한과 민감 정보 노출 범위를 함께 고려하세요. 비공개 코드나 빌드 자료를 공용 다운로드 링크로 임시 전송하지 마세요.
저장소 코드, 의존성 잠금 파일과 검토 가능한 설정에 적합합니다. 먼저 원격 주소와 브랜치를 확인한 후 가져오고, 비공개 인증 정보는 관리된 방식으로 설정하며 저장소에 기록하지 마세요.
리소스 파일의 증분 업로드, 비식별화 로그 다운로드와 빌드 산출물 회수에 적합합니다. 원격 대상 디렉터리를 제한하고 전송 후 소유자, 권한, 크기와 수정 시간을 확인하세요.
일회성 전달 자료, 캐시 또는 아카이브에 적합합니다. 송신 측에서 해시를 생성하고 노드에서 다시 계산해 문자 단위로 비교하세요. 결과가 일치할 때만 압축을 해제하고 후속 처리를 진행하세요.
고해상도, 고프레임률과 높은 색상 품질은 전송 부하를 동시에 높입니다. 조정할 때는 한 번에 하나의 매개변수만 변경하고 전후 결과를 기록해 여러 변경 사항이 원인을 가리지 않도록 하세요.
| 현상 | 첫 번째 단계 | 두 번째 단계 | 확인 방법 |
|---|---|---|---|
| 마우스 응답 지연 | 해상도 낮추기 | 프레임률 낮추기 | 창을 움직이며 입력 동기화 여부 확인 |
| 화면이 자주 다시 그려짐 | 색상 품질 낮추기 | 동적 데스크톱 효과 끄기 | 코드 파일을 스크롤하며 다시 그려지는 범위 확인 |
| 세션이 간헐적으로 끊김 | 유선 또는 안정적인 Wi-Fi로 전환 | 다른 대용량 작업 일시 중지 | SSH 세션을 유지하며 연결 지속성 확인 |
| 입력은 정상이나 화면이 멈춤 | 현재 렌더링이 완료될 때까지 기다리기 | 기존 세션 다시 연결 | 여러 그래픽 세션을 동시에 만들지 않기 |
유선 네트워크를 우선 사용하세요. Wi-Fi를 사용할 때는 신호를 안정적으로 유지하고 지속적인 대용량 전송을 피하세요.
해상도, 프레임률과 색상 품질을 순서대로 조정하고 한 번에 하나만 변경해 결과를 기록하세요.
빌드, 로그와 파일 처리는 SSH에서 수행하고 세션에는 그래픽 인터페이스가 꼭 필요한 작업만 남기세요.
각 단계를 완료할 때마다 다시 테스트하고 전체 오류 텍스트, 발생 시간, 노드 리전과 클라이언트 버전을 저장하세요. 단순히 “연결할 수 없음”이라고만 제출하거나 잘린 스크린샷 한 장만 보내지 마세요.
먼저 로컬 네트워크가 정상인지 확인한 다음 노드 주소와 포트가 현재 인스턴스 세부 정보에서 가져온 것인지 확인하세요. 이어서 로컬 방화벽, 회사 네트워크 정책과 VPN이 연결을 차단하는지 점검하세요. SSH와 그래픽 세션이 동시에 시간 초과되면 네트워크 경로와 노드 상태를 우선 확인하고 그래픽 클라이언트를 반복해서 재설치하지 마세요.
지문 변경은 주소 입력 오류, 다른 노드 연결 또는 인스턴스 정보 변경으로 발생할 수 있습니다. 연결을 중지하고 콘솔에서 현재 주소와 지문을 다시 확인한 뒤 주문 ID와 노드 리전을 확인하세요. 새 지문의 출처가 확인된 경우에만 로컬 기록을 갱신하세요.
먼저 사용자 이름의 대소문자가 인스턴스 세부 정보와 일치하는지 확인한 다음 클라이언트가 동일한 이름의 오래된 파일이 아닌 대상 키를 실제로 불러오는지 확인하세요. 키 파일의 권한, 형식과 경로를 점검하고 프록시 또는 키 관리 도구를 사용한다면 예상 인증 자료를 대체하고 있지 않은지도 확인하세요. 출처가 불명확한 인증 정보를 여러 번 연속으로 시도하지 마세요.
먼저 SSH 연결을 유지하면서 시스템이 계속 응답하는지 확인하세요. 그런 다음 기존 그래픽 세션이 있는지, 화면 매개변수가 너무 높은지, 클라이언트가 현재 연결 모드를 지원하는지 확인하세요. 단일 디스플레이와 낮은 해상도로 낮춘 뒤 기존 세션에 다시 연결하세요. SSH는 정상인데 화면을 사용할 수 없다면 클라이언트 버전과 세션 시간을 기록해 티켓을 제출하세요.
팀은 현재 세션 담당자와 인계 시간을 명확히 정해야 합니다. 연결 전 기존 세션을 확인하고 종료할 때는 클라이언트의 연결 해제 또는 로그아웃 동작을 사용하세요. 사용 중인 세션을 해결하기 위해 강제로 새 세션을 만들지 마세요. 백그라운드 빌드를 유지해야 한다면 그래픽 창이 열린 상태에 의존하지 말고 지속 실행 가능한 명령줄 흐름에 작업을 넣으세요.
주문 ID, 노드 리전, 문제 발생 시간, 전체 재현 단계와 비식별화된 로그를 포함하세요. 그래픽 세션과 관련된 경우 클라이언트 이름, 버전, 해상도와 네트워크 유형도 추가하세요.
작업을 완료한 후 그래픽 세션을 순서대로 종료하고, 더 이상 필요하지 않은 리스너를 중지하며, 인증 정보 노출 여부를 확인한 뒤 로컬과 노드의 임시 교환 파일을 삭제하세요.
인증 정보가 공개 저장소, 공유 스크린샷, 공용 다운로드 디렉터리 또는 관리되지 않는 로그에 포함된 적이 있다면 즉시 사용을 중지하고 교체를 완료하세요. 공개 사본을 삭제하는 것만으로는 교체를 대신할 수 없습니다. 이미 캐시되거나 복제되었을 수 있기 때문입니다.
SSH 터널, 포트 포워딩, 클라이언트 백그라운드 프로세스와 로컬 프록시를 확인하세요. 명확한 용도가 남아 있는 진입점만 유지하고 담당자, 용도와 종료 조건을 기록하세요.
시스템 버전, Xcode 경로, 의존성 잠금 파일, 빌드 명령과 오류 요약은 보관하고 개인 키, 계정 비밀번호, 복구 코드, 임시 교환 패키지와 비식별화되지 않은 로그는 제거하세요.
먼저 구성을 선택하고 노드를 배포하세요. 도구 체인을 정리하는 중이라면 최초 배포 절차를 계속 읽거나 도움말 센터에서 구체적인 문제를 해결할 수 있습니다.