하나의 Herdr 창에 로컬 작업과 원격 에이전트를 유지하세요. SSH 시스템을 한 번 저장한 다음 다른 클라이언트를 열지 않고도 해당 작업 공간과 로컬 사이를 전환합니다. 에이전트 목록에는 연결된 기기이 포함되어 있으므로 작업이 실행 중인 위치와 답변이 필요한 에이전트를 확인할 수 있습니다.
각 시스템은 자체 Herdr 서버, 세션 및 실행 중인 프로세스를 유지합니다. 한 시스템에 대한 연결이 끊어져도 다른 시스템의 연결이 끊어지지 않습니다.
Herdr는 제한된 연결에서 화면 업데이트 트래픽을 줄이기 위해 SSH 압축을 요청합니다. 이는 이전 호환 Herdr 서버에서 작동하며 입력 또는 기타 입력이 전달되는 방식을 변경하지 않습니다. Herdr의 -C 옵션은 SSH 구성에서 Compression no을 재정의합니다. SSH가 외부 ControlMaster를 통해 기존 연결을 재사용하는 경우 해당 연결은 원래 압축 설정을 유지합니다.
SSH 인증 복구 중
Linux 및 macOS 클라이언트에서 remote.manage_ssh_config=true일 때 Herdr는 시스템 추가, 사이드바 및 저장된 시스템 API 명령 전반에 걸쳐 승인된 OpenSSH 연결을 공유합니다. 새로운 비대화형 검사를 위해 herdr machine status [<label-or-id>] [--json]을 실행하세요. Reachable은 열려 있는 모든 TUI가 연결되어 있는 것이 아니라 원격 Herdr 서버를 지금 사용할 수 있음을 의미합니다. 터미널에서 herdr machine reconnect <label-or-id>를 실행하여 기본 SSH 인증을 완료하고 저장된 기기을 확인하세요. Herdr를 설치하거나 업데이트하지 않습니다. 열린 클라이언트는 30초 이내에 실패한 연결을 다시 확인합니다. 다시 시작할 필요가 없습니다. ! auth, ! error을 클릭하거나 실패한 연결의 재연결 상태를 클릭하면 최신 오류 및 관련 CLI 명령이 포함된 알림이 표시됩니다. 자격 증명 팝업이 열리지 않습니다. 기기 행의 나머지 부분은 일반적인 확장/축소 동작을 유지합니다.
공유 연결은 ControlPersist 600(유휴 시간 10분)을 사용합니다. 이는 MFA 유효성이 아닙니다. 활성 연결은 계속 열려 있을 수 있지만 회사 정책, SSH 서버 또는 네트워크로 인해 연결이 더 빨리 종료될 수 있습니다. 로컬 Windows 복구는 아직 지원되지 않습니다. 관리되지 않는 SSH 연결의 경우 인증은 사용자의 책임입니다. ssh 자체를 실행하면 공유 ControlPath를 사용하지 않는 한 Herdr 승인이 부여되지 않습니다. 호스트 키 확인은 변경되지 않았습니다. 알 수 없거나 변경된 호스트 키는 Attention로 유지됩니다.
연결하기 전에
원격 시스템에 대한 일반적인 SSH 액세스가 필요합니다. 먼저 확인하세요.
ssh workboxworkbox은 SSH 구성의 호스트가 될 수 있습니다. ssh://you@server:2222과 같은 대상을 사용할 수도 있습니다.
다중 시스템 연결은 x86_64 또는 aarch64의 Linux 또는 macOS 서버 또는 x86_64의 Windows 서버에 연결하는 Linux, macOS 및 Windows 클라이언트를 지원합니다. 대화형 설치는 확인 후 전체 원격 패키지를 설치하거나 업데이트할 수 있습니다. 백그라운드 재연결은 설치된 패키지만 검색합니다. SSH 구성, 인증 및 사용자 정의 바이너리에 대해서는 SSH를 통한 원격 연결을 참조하세요.
기기 추가
Herdr가 무엇이든 설치하거나 교체하기 전에 물어볼 수 있도록 대화형 터미널에서 설정을 실행하세요.
herdr machine add workbox대화형 터미널에서 Herdr는 실행 중인 세션을 발견합니다. 실행 중인 세션만 선택하거나 여러 개가 실행 중일 때 Up/Down 및 Enter를 사용하여 선택할 수 있습니다. Esc 또는 Ctrl+C를 누르면 취소됩니다. 쿼리에 성공하여 실행 중인 세션이 없으면 설치 프로그램에서는 default을 사용합니다. Herdr 설치가 발견되지 않으면 설치 프로그램은 default용으로 설치하도록 제안합니다. 설치된 바이너리가 해당 세션을 보고할 수 없으면 설치 프로그램에서 오류를 보고합니다. 세션을 명시적으로 선택하려면 --remote-session <name>를 전달합니다.
사이드바에는 기본 세션이 user@ 프리픽스가 없는 SSH 호스트인 workbox로 표시됩니다. 다른 이름을 선택하려면 --label "Build machine"를 추가하세요. 기기 프로필은 하나의 원격 세션을 대상으로 합니다. 호스트의 모든 세션을 결합하지는 않습니다. 비대화형 명령은 --remote-session가 제공되지 않는 한 default을 사용합니다.
검색을 건너뛰고 특정 세션을 사용하려면 --remote-session을 추가하세요.
herdr machine add workbox --remote-session agents--label이 없으면 이 컴퓨터는 workbox/agents로 표시됩니다. 기본 이름이 이미 사용된 경우 machine add는 --label을 전달하도록 요청합니다.
Windows 서버에서 설정은 SSH 사용자가 소유한 Herdr 프로세스에서 사용하는 실행 파일도 확인합니다. 재사용하기 전에 해당 기능의 유효성을 검사하므로 SSH의 PATH이 이전 설치를 가리키는 경우에도 호환 가능한 실행 빌드를 사용할 수 있습니다.
Herdr는 설치된 바이너리와 실행 중인 서버를 모두 확인합니다. 프로필을 저장하기 전에 요청된 백그라운드 서버를 시작합니다. 호환되는 클라이언트 버전과 서버 버전이 일치할 필요는 없습니다. 누락되거나 호환되지 않는 설치는 승인 기반 설정을 거칩니다. 실행 중인 서버를 교체해야 하는 경우 설치 프로그램은 해당 서버와 해당 패널 프로세스를 중지하기 전에 묻고 호환되는 서버를 시작합니다. 기본 대답은 '아니오'입니다. 설치와 교체가 모두 필요한 경우 한 번의 확인으로 해결됩니다. machine add은 실험적인 라이브 핸드오프를 사용하지 않습니다. 설정을 취소하거나 실패하면 프로필이 저장되지 않은 상태로 유지됩니다.
herdr을 실행하여 UI를 엽니다. 로컬 클라이언트가 이미 열려 있는 경우 추가되고 활성화된 시스템은 일반적으로 1초 내에 나타나고 선택 사항을 변경하지 않고 백그라운드에서 연결됩니다. 진행 중인 컴퓨터 전환은 프로필 변경 사항이 적용되기 전에 완료됩니다. 원격 서버는 설치가 종료된 후에도 계속 실행됩니다.
기기 간 전환
사이드바에서 기기이나 해당 작업 공간 중 하나를 선택합니다. 선택한 시스템은 패널 입력과 터미널 크기를 수신하고 눈에 보이는 터미널 콘텐츠와 그래픽을 제공합니다. 연결된 다른 컴퓨터는 패널 화면을 스트리밍하지 않고도 작업 공간 정보, 에이전트 상태 및 알림을 계속 업데이트합니다.
현재 작업 공간에서 전환하지 않고도 작업 공간 목록을 축소하거나 확장하려면 기기 옆에 있는 화살표를 클릭하세요. 이는 해당 컴퓨터가 다시 연결되는 동안에도 작동합니다.
키보드 탐색의 경우 prefix+w을 누른 다음 작업 공간 탐색 키(기본적으로 위쪽/아래쪽)를 사용하여 사이드바 순서로 연결된 컴퓨터 전체의 작업 공간을 강조 표시합니다. Enter를 누르면 강조 표시된 작업 공간이 활성화됩니다. Esc 또는 프리픽스 키는 전환하지 않고 취소됩니다. 컴팩트하고 확장된 사이드바는 접힌 시스템 아래를 포함하여 강조 표시된 행을 표시합니다. 데스크톱에서는 탐색이 끝에서 줄바꿈됩니다. 모바일 스위처는 첫 번째 또는 마지막 작업 공간에서 중지됩니다. 연결이 끊긴 컴퓨터는 건너뜁니다.
다른 컴퓨터의 작업 공간을 강조 표시할 때 다른 키보드 작업을 사용하기 전에 Enter 키를 누르십시오. 이렇게 하면 패널, 탭, 작업 공간 또는 사용자 정의 명령 바로 가기가 실수로 현재 컴퓨터에서 작동하는 것을 방지할 수 있습니다. 클릭하면 원격 데스크톱 키보드 미리보기가 취소됩니다. 확장된 사이드바는 각 시스템의 축소된 작업 트리 그룹을 따릅니다.
로컬은 SSH 연결을 기다리지 않고 시작 시 즉시 열립니다. 로컬을 선택하면 원격 시스템의 응답을 기다리지 않고 완료되지 않은 원격 스위치도 취소됩니다. 로컬 자체가 다시 연결되는 경우 준비가 되면 선택이 다시 시작됩니다. 로컬은 새로운 화면과 터미널 설정이 준비되면 입력을 허용합니다. 정지된 기기는 다른 기기의 입력을 견딜 수 없습니다. 여러 Herdr 클라이언트는 동일한 서버의 서로 다른 탭을 독립적으로 볼 수도 있습니다. 공유 탭 크기 조정은 Client 및 server을 참조하세요.
연결이 끊어지면 마지막 작업 공간과 에이전트 상태가 계속 표시되지만 흐리게 표시됩니다. 이는 실시간 상태가 아닌 캐시된 정보입니다. 캐시된 패널에 대한 입력 및 탐색은 새로운 연결과 일치하는 화면이 도착할 때까지 비활성화된 상태로 유지됩니다. 다시 연결해도 사용 중인 컴퓨터에서 선택 항목이 사라지지 않습니다.
이름 바꾸기, 비활성화 또는 제거
라벨이나 호스트 이름에서 프로필 ID를 파생하는 대신 목록에서 프로필 ID를 읽습니다.
herdr machine list
herdr machine rename <profile-id> --label "New name"
herdr machine disable <profile-id>
herdr machine enable <profile-id>
herdr machine remove <profile-id>스크립트의 경우 --json을 machine list에 추가합니다.
이름을 바꾸면 다시 연결하지 않고도 표시된 라벨이 변경됩니다. 비활성화하면 나중에 사용할 수 있도록 프로필이 유지됩니다. 제거하면 잊어버립니다. 둘 다 클라이언트에서 해당 시스템만 연결을 끊고 호스트에 연결할 수 없는 경우에도 원격 세션과 에이전트를 실행 중인 상태로 둡니다.
보고 있는 컴퓨터를 제거하거나 비활성화하면 로컬로 돌아갑니다. 로컬을 사용할 수 없으면 Herdr는 이를 표시하고 다른 원격 시스템을 선택하는 대신 연결을 다시 시도합니다. 저장된 컴퓨터를 활성화하면 로컬이 실패하거나 다시 시작되는 경우에도 클라이언트를 계속 사용할 수 있습니다.
연결 문제
- 재연결: Herdr는 네트워크 중단, 절전 또는 SSH 실패 후 자동으로 재시도합니다. 실패가 반복되면 지연 시간이 최대 2분까지 늘어납니다. 잠시 동안 성공적인 연결이 이루어졌다고 해서 재설정되지는 않습니다. 다음 중단이 빠르게 재시도되기 전에 연결은 1분 동안 양호한 상태로 유지되어야 합니다. SSH 연결은 애플리케이션 수준 활동을 확인하고 조용할 때 조사되므로 끊어진 연결이 무기한 온라인 상태로 유지되지 않습니다. 로컬은 원격 상태 프로브를 사용하는 대신 기본 연결 종료 또는 실패를 감지합니다.
- 주의: 대상에는 인증, 호스트 키 승인 또는 호환 서버와 같은 작업이 필요합니다. 다른 기기는 계속 사용할 수 있습니다.
! auth는 인증이 실패했음을 의미합니다.! error은 또 다른 문제를 나타냅니다. 오류 및 CLI 명령에 대한 배지를 클릭합니다. 접힌 사이드바에서는 둘 중 하나가!로 표시됩니다. - 저장된 컴퓨터 파일 오류: 읽을 수 없거나 잘못된 카탈로그로 인해 현재 연결이 변경되지 않습니다. Herdr는 알림을 표시하고 자동으로 읽기를 다시 시도합니다.
두 설치 모두 브리지 유휴 정리를 지원하는 경우 Linux 및 macOS에 대한 저장된 컴퓨터 연결도 어느 방향으로든 트래픽이 없으면 1분 후에 원격 브리지를 닫습니다. 수면은 해당 기한에 포함되며 호스트가 깨어날 때 확인됩니다. 조용하고 건강한 연결은 상태 점검을 교환합니다. 연속 출력을 보는 데에는 입력이 필요하지 않습니다. 정리하면 원격 Herdr 서버, 세션 및 패널 프로세스가 계속 실행됩니다. 이전 설치는 이 선택적 정리 없이도 계속 호환됩니다.
백그라운드 연결은 메시지에 응답하지 않으며 서버를 설치, 업데이트, 다시 시작 또는 전달하지 않습니다. 비인증 주의의 경우 대화형 터미널에서 Herdr가 표시하는 독립형 설정 명령을 실행하십시오. 예:
herdr --remote workbox프로필의 대상을 사용하세요. 세션을 추가할 때 명명된 세션을 선택한 경우 여기에 선택 사항인 --session <name>도 포함하세요. 요청된 설정 프롬프트를 따르십시오. 오픈 클라이언트가 자동으로 재시도됩니다. machine reconnect은 Herdr를 설치하거나 업데이트하지 않습니다. 버전이 클라이언트와 다르다는 이유만으로 실행 중인 서버를 중지하지 마십시오.
인증에 실패하면 먼저 일반 SSH를 확인하세요. 암호로 보호된 키의 경우 Herdr의 비대화형 백그라운드 연결을 시작하기 전에 ssh-add로 로드하세요.
원격 패널 내부의 Git 인증 또는 SSH 서명의 경우 SSH 구성에서 신뢰할 수 있는 호스트에 대해 ForwardAgent yes을 활성화합니다. Herdr는 귀하에게 전달을 활성화하지 않습니다. 에이전트로 세션이 시작되면 업데이트된 Linux 및 macOS 서버는 패널에 안정적인 에이전트 주소를 제공하므로 --remote 또는 저장된 시스템이 다시 연결된 후 기존 패널과 새 패널에서 전달된 에이전트를 사용할 수 있습니다. 작동 중인 상속된 에이전트 또는 이전 연결은 이후 클라이언트 및 임시 설정 확인보다 우선순위를 유지합니다. 사라지면 다른 라이브 첨부 파일이 에이전트를 제공할 수 있습니다.
이를 위해서는 업데이트된 로컬 클라이언트뿐만 아니라 업데이트된 원격 서버가 필요합니다. 에이전트 없이 시작된 로컬 세션은 SSH_AUTH_SOCK를 그대로 둡니다. 서버 업데이트 전이나 에이전트가 세션에 처음 제공되기 전에 생성된 패널은 원래 환경을 유지하며 안정적인 주소를 상속하려면 한 번 다시 생성해야 합니다. 에이전트 전달이 없는 이전 호환 서버 및 연결은 여전히 정상적으로 연결할 수 있습니다.
설정 및 자동화
UI는 기본적으로 클라이언트의 로컬 테마, 사이드바 설정 및 키 설정을 사용합니다. 선택한 서버에서 광고하는 사용자 정의 명령과 플러그인은 계속해서 실행됩니다. Herdr는 로컬 명령 플러그인, 구성, 실행 파일 또는 비밀을 SSH 호스트에 복사하지 않습니다. 누락된 원격 명령은 눈에 띄게 실패합니다. 클라이언트 설정을 편집한 후 UI의 reload config 작업을 사용하세요. 구성을 참조하세요.
여러 컴퓨터가 있는 경우 기본 에이전트 행에는 machine 토큰이 표시됩니다. 기존 사용자 정의 행은 유지됩니다. 레이아웃에 해당 레이블을 추가하려면 machine을 명시적으로 추가하세요. 사이드바 행 레이아웃은 기기 라벨에 대한 조건부 색상도 지원합니다.
작업 공간, 탭, 패널 ID 및 에이전트 이름은 하나의 서버로 범위가 지정됩니다. 두 시스템 모두 w1:p1 또는 reviewer이라는 에이전트를 포함할 수 있습니다. UI에서 시스템을 선택하면 기존 패널에서 실행되는 CLI 명령의 대상이 변경되지 않습니다. 해당 패널의 상속된 세션과 소켓은 계속 사용됩니다. 원격 자동화의 경우 herdr --machine <label-or-id> agent list를 사용한 다음 해당 원격 ID를 제어할 때 동일한 프리픽스를 전달합니다. CLI는 저장된 프로필의 SSH 대상과 세션을 직접 사용합니다. 개방형 TUI가 필요하지 않습니다. --machine이 없으면 기존 세션/소켓 라우팅이 변경되지 않습니다. 지원되는 명령, 업데이트 요구 사항 및 원격 경로 규칙은 CLI 참조를 참조하세요.
업데이트 및 저장된 데이터
저장된 프로필에는 불투명 ID, 레이블, SSH 대상, 명시적 원격 세션 및 활성화된 상태만 포함됩니다. Herdr는 카탈로그에 비밀번호, 개인 키, 에이전트 티켓 또는 SSH 제어 소켓을 저장하지 않습니다. 인증은 OpenSSH를 통해 유지됩니다.
Herdr는 각 시스템의 원격 OS와 확인된 실행 파일 경로를 별도로 기억하므로 반복되는 --machine 명령은 검색을 건너뛸 수 있습니다. 기존 프로필은 처음 사용 시 누락된 정보를 학습합니다. 이 캐시는 선택 사항입니다. 캐시 파일이 누락되었거나 유효하지 않거나 쓰기 불가능하더라도 명령이 작동하는 데 방해가 되지 않습니다. 명령은 여전히 라이브 서버 호환성을 확인합니다. 캐시된 실행 파일이 누락되었거나 더 이상 API 전달을 지원하지 않는 경우 Herdr는 초기 읽기 전용 확인 중에 해당 실행 파일을 재발견합니다. 이미 원격 상태를 변경했을 수 있는 명령을 자동으로 반복하지 않습니다.
클라이언트와 서버는 동일한 버전을 요구하지 않고 호환성을 협상합니다. 저장된 컴퓨터 연결에는 서버의 surface_interest 및 health_check 기능이 추가로 필요합니다. 이러한 기능이 없는 이전 서버는 독립 실행형 연결이 작동하더라도 명시적으로 업데이트될 때까지 Attention을 표시합니다. 기타 누락된 서버 방법은 해당 작업만 비활성화합니다.
호환되는 클라이언트를 업데이트해도 실행 중인 원격 서버가 교체되거나 해당 에이전트가 중지되지는 않습니다. 새로운 서버측 동작이 필요한 경우 해당 서버를 명시적으로 업데이트하세요. 일반 교체는 서버 및 해당 패널 프로세스를 중지하기 전에 묻습니다.
실시간 핸드오프는 실험적이며 선택 가능합니다. 독립 실행형 설정 중에 교체가 필요한 지원 서버의 경우 --handoff을 herdr --remote에 명시적으로 추가할 수 있습니다. 일반적인 연결이나 인증 수정에는 필요하지 않습니다. 다시 시작 및 핸드오프 선택 사항은 Update을 참조하고, 각 작업에서 유지되는 사항은 세션 상태 및 복원을 참조하세요.