> ## Documentation Index
> Fetch the complete documentation index at: https://manual.seahorse.dnotitia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> Remote Hosts — Agent Chat 에서 원격 Bash 세션 연결·터미널 제어. seahorse-bash-client WebSocket 연결

# Remote hosts

# Remote Hosts (Bash)

**경로**: 하단 툴바 **Remote Hosts**

원격 호스트(서버·워크스테이션)에 **Bash 세션을 WebSocket 으로 연결** 하여 Agent Chat 안에서 명령을 실행·관찰합니다. 에이전트가 직접 원격 명령을 실행하거나, 사용자가 수동 터미널로 사용할 수 있습니다.

<Frame>
  <img src="https://mintcdn.com/dnotitia-328335e7/3mgjFAVO5t1rKplH/images/image-33.png?fit=max&auto=format&n=3mgjFAVO5t1rKplH&q=85&s=975ef432b60c23e7c5cfe38de9d99135" alt="Image" width="2031" height="1212" data-path="images/image-33.png" />
</Frame>

## UI 구성

| 영역                  | 설명                                                                                                            |
| ------------------- | ------------------------------------------------------------------------------------------------------------- |
| **서버 이름**           | 등록된 MCP 서버 이름 (예: `my-bash-server`)                                                                           |
| **연결 명령**           | `npx seahorse-bash-client connect --url wss://...` 형태의 커맨드 (복사 가능)                                            |
| **Token** 입력        | 인증 토큰 (선택) — 입력 시 파일 전송 활성                                                                                    |
| **nohup** 토글        | Run on the target host — 세션 종료 후에도 명령 유지                                                                      |
| **Connected Hosts** | 현재 연결된 호스트 목록                                                                                                 |
| 빈 상태                | `No hosts connected / Use the connection command to connect a bash client` + `Select a host to open terminal` |

## 연결 흐름

<Steps>
  <Step title="MCP 서버 지정">
    `my-bash-server` 같은 서버 이름 선택 — 에이전트의 [Tool Management](/console/agent-ops/agent-tool) 에 등록된 원격 Bash MCP 도구.
  </Step>

  <Step title="(선택) Token 발급·입력">
    `Token` 필드에 토큰 입력. 토큰이 있으면 **파일 전송** 도구가 추가로 활성화됩니다. 없으면 **Bash 명령 실행만** 가능.
  </Step>

  <Step title="클라이언트 실행">
    `npx seahorse-bash-client connect --url wss://{agent-id}.agent.seahorse.dnotitia.ai/ws/remote-mcp/{server-name}`

    위 명령을 **원격 호스트 터미널** 에서 실행 → 호스트가 Agent Chat 과 WebSocket 으로 연결됩니다.
  </Step>

  <Step title="Connected Hosts 확인">
    연결 성공 시 `Connected Hosts` 목록에 호스트가 나타납니다. 클릭하여 인라인 터미널 패널 열기.
  </Step>

  <Step title="명령 실행">
    에이전트에게 `ls /var/log | tail -20` 같은 지시 → 에이전트가 해당 호스트에서 실행 → 결과를 채팅에 표시. 사용자가 직접 터미널을 열어 수동 입력도 가능.
  </Step>
</Steps>

## Token 옵션

| 상태        | 가능한 작업                 |
| --------- | ---------------------- |
| **토큰 없음** | Bash 명령 실행만            |
| **토큰 있음** | + **파일 전송** (업로드/다운로드) |

## nohup 토글

`Run on the target host` — **ON** 시 명령을 `nohup` 으로 실행해 WebSocket 연결이 끊겨도 호스트에서 **백그라운드로 계속 실행** 됩니다.

활용 예:

* 장시간 빌드 / 학습 스크립트 실행
* 원격에서 모니터링 프로세스 기동
* 일회성 배포 후 연결 종료

## 보안 주의

<Warning>
  **원격 셸 접근 권한을 에이전트에 부여하는 것은 매우 민감한 작업** 입니다.

  * `Grants remote shell access — use in isolated environments only.` — 화면 안내 그대로, **격리된 환경 (개발 VM · 샌드박스 · 전용 서버)** 에서만 사용하세요.
  * **프로덕션 서버에 직접 연결 금지** — 에이전트의 실수 한 번이 운영 장애로 이어집니다.
  * 연결 종료 후 **클라이언트 프로세스 반드시 종료** (`Ctrl+C` 또는 `kill`).
  * **Token 은 단기 발급 + 회수** — 공유·커밋 금지.
  * `sudo` 권한 계정으로 실행 금지 — 최소 권한 사용자로 연결.
  * 대규모 배포·운영 자동화에는 원격 Bash 대신 **GitHub Actions · Ansible · K8s Job** 같은 기존 CI/CD 도구를 통합하세요.
</Warning>

<Warning>
  * **WebSocket 연결은 불안정할 수 있음** — 네트워크 변경·방화벽·프록시에 의해 끊길 수 있습니다. 중요 작업은 `nohup` 활용.
  * **세션 로그가 채팅·Temp Files·감사 로그에 남습니다** — 민감 명령 실행 시 주의 (비밀번호 입력 금지).
  * **커맨드 인젝션 위험** — 사용자 입력을 그대로 쉘 명령에 넣는 프롬프트는 피하고, 에이전트 System Prompt 에서 파괴적 명령(`rm -rf`, `dd`, `mkfs`) 를 명시적으로 금지.
</Warning>

## 활용 예시

| 시나리오         | 용도                                              |                          |
| ------------ | ----------------------------------------------- | ------------------------ |
| **로그 분석**    | \`grep ERROR /var/log/app.log                   | tail -50\` → 에이전트가 원인 요약 |
| **빠른 서버 점검** | `df -h` · `top -bn1` · `systemctl status {svc}` |                          |
| **CI/CD 보조** | 빌드 로그 실시간 확인, 간단한 배포 스크립트 트리거                   |                          |
| **데이터 전처리**  | 로컬 CSV 변환 후 `scp` 로 서버 업로드 (토큰 있을 때)            |                          |
| **원격 디버깅**   | 에이전트가 로그를 읽고 수정안 제시 → 사용자 검토 후 수동 적용            |                          |

## 관련 문서

* [MCP Tools](/agent-chat/toolbar/mcp-tools) — Remote Bash MCP 서버 등록
* [Tool Management](/console/agent-ops/agent-tool) — 도구 전역 관리
* [Temp Files](/agent-chat/toolbar/temp-files) — 원격에서 받은 파일의 임시 저장 공간
* [Storage](/agent-chat/toolbar/storage) — 원격에서 받은 산출물의 영구 보관
