Skip to main content
Glama
gdgfd22

dsh-lab-ssh

by gdgfd22

dsh-lab-ssh

영어 | 简体中文

DeepSeek Harness 및 표준 MCP 클라이언트를 위한 안전 게이트 SSH 개발 도구입니다.

이 플러그인은 연결된 워크스테이션에서 실행되는 에이전트가 실험실 서버의 GPU, 런타임 및 명시적으로 구성된 소스 작업 공간을 사용할 수 있게 하면서도 서버는 공용 인터넷과 격리된 상태를 유지합니다.

0.3.0 버전은 실험적 미리보기입니다. 실험실 배포 전에 테스트된 DeepSeek Harness 버전을 고정하세요.

이것은 독립적인 커뮤니티 플러그인이며 공식 DeepSeek AI 패키지가 아닙니다.

존재 이유

에이전트에게 일반 SSH 터미널을 제공하면 임의의 대상, 명령 및 파일 시스템 경로가 노출됩니다. 이 프로젝트는 기본 거부(deny-by-default) 정책 계층을 삽입합니다:

  • 고정된 모델 표시 호스트 별칭;

  • 고정된 OpenSSH SHA256 호스트 키 지문;

  • 환경, 로컬 키 파일 또는 SSH 에이전트 자격 증명 참조;

  • 호스트별 명령 허용 목록, 자동 승인 규칙 및 거부 규칙;

  • 제한된 명령 출력 및 시간 제한;

  • 정규 포함 검사를 통한 별칭 기반 원격 디렉터리 루트;

  • 제한된 UTF-8 읽기 및 원자적 해시 보호 쓰기;

  • 선택적 별칭 기반 명령 작업 디렉터리;

  • 오프라인 서버를 위한 기본 비활성화 HTTPS 아티팩트 브리지;

  • DeepSeek Harness와 Codex MCP가 공유하는 단일 JSON 정책.

이 플러그인은 임의의 호스트, 대화형 셸, 인라인 비밀, 제한 없는 파일 전송, 삭제/이동/chmod 작업, 백그라운드 명령, 포트 전달, 역방향 터널 또는 에이전트 전달을 노출하지 않습니다.

상태

DeepSeek Harness 플러그인, stdio MCP 서버, 명령 정책, 제한된 SFTP 액세스, 작업 디렉터리 별칭 및 첫 번째 아티팩트 브리지 계층이 구현되었습니다. 테스트 스위트는 9개 파일에 걸쳐 25개의 테스트를 포함하며 실제 실험실 인프라나 공용 인터넷에 연결하지 않습니다.

시각적 단기 자격 증명 세션, 영구 감사, 역할 기반 정책, 디렉터리 동기화, 종속성 폐쇄, 캐싱 및 재개 가능한 전송은 향후 작업으로 남아 있습니다.

빠른 시작

요구 사항:

  • Node.js ^22.19 또는 >=24;

  • DeepSeek Harness 0.1.0-rc.7 또는 호환되는 0.1.x 미리보기;

  • dsh plugin용 pnpm이 PATH에 있어야 합니다.

빌드 및 설치:

Set-Location <PLUGIN_DIR>
npm install
npm run build
npx -y @deepseek-ai/dsh@0.1.0-rc.7 plugin --profile web add <PLUGIN_DIR>

예제 구성을 리포지토리 밖으로 복사하고 모든 자리 표시자를 교체한 다음 DSH 사용자 패치가 이를 가리키도록 하세요:

- id: lab-ssh
  config:
    configFile: C:/Users/<USER>/.dsh/lab-ssh.private.json

DSH를 시작하는 동일한 프로세스에서 자격 증명 환경 변수를 설정하세요:

$env:LAB_SSH_GPU01_PASSWORD = '<enter locally>'
npx -y @deepseek-ai/dsh@0.1.0-rc.7 web

구성, 승인 정책, 오프라인 아티팩트 스테이징 및 문제 해결에 대해서는 중국어 운영자 가이드중국어 빠른 시작을 참조하세요.

도구

  • ssh_list_hosts: 수정된 구성된 호스트 별칭을 나열합니다.

  • ssh_list_file_roots: 디렉터리 별칭 및 액세스 정책을 나열합니다.

  • ssh_list_directory: 승인된 루트 아래의 제한된 항목을 나열합니다.

  • ssh_read_file: 제한된 UTF-8 텍스트를 읽고 해당 SHA256을 반환합니다.

  • ssh_write_file: 제한된 UTF-8 텍스트를 생성하거나 원자적으로 교체합니다.

  • ssh_exec: 고정 호스트 및 선택적 디렉터리 별칭에서 허용 목록에 있는 명령을 실행합니다.

  • ssh_stage_artifact: 승인 게이트 다운로드, 확인 및 단일 아티팩트의 원자적 업로드.

오프라인 서버

아티팩트 브리지는 투명 프록시가 아닙니다. 워크스테이션은 자격 증명이나 쿼리 토큰 없이 HTTPS URL을 수락하고, 관리자 도메인 허용 목록에 대해 모든 리디렉션을 검증하며, 크기 제한과 필수 신뢰 SHA256을 적용한 다음 명시적으로 아티팩트가 활성화된 원격 루트 안에 파일을 원자적으로 생성합니다. 기존 파일은 교체되지 않습니다.

일반 SOCKS/HTTP 프록시, SSH 전달 및 역방향 터널은 범위를 벗어나므로 서버 네트워크 격리가 유지됩니다.

Codex MCP

리포지토리에는 안전한 빈 config/lab-ssh.empty.json과 프로젝트 수준의 .codex/config.toml이 포함되어 있습니다. 패키지를 빌드하고 신뢰할 수 있는 프로젝트에서 Codex를 다시 로드하여 MCP 서버를 검색하세요. 실제 배포의 경우 개인 Codex 구성을 리포지토리 외부의 JSON 파일로 지정하세요.

서버를 직접 시작할 수도 있습니다:

node <PLUGIN_DIR>/lib/mcp-server.js --config <PRIVATE_CONFIG_PATH>

개발 및 검증

npm install
npm run typecheck
npm test
npm run build
npm run pack:check

Windows에서는 공용 리포지토리를 시스템 임시 디렉터리에 다시 복제하고 현재 종속성, 빌드 출력, DSH 프로필 또는 개인 SSH 구성을 재사용하지 않는 클린룸 승인 테스트를 실행하세요:

powershell -ExecutionPolicy Bypass -File scripts/clean-room-test.ps1

npm ci, 형식 검사, 테스트, 빌드, 패키지 검사, 격리된 프로필 플러그인 설치 및 hosts: []를 사용한 DSH Web HTTP 스모크 테스트를 실행합니다. 기본적으로 포트 3180이 사용되며 이후 임시 환경은 제거됩니다.

게시 전에 SECURITY.md를 검토하세요. 실제 SSH 구성, 자격 증명, 로그, 로컬 프로필, 빌드 출력 및 아카이브는 커밋하거나 릴리스에 포함해서는 안 됩니다.

라이선스

MIT

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • An MCP server for Arcjet - the runtime security platform that ships with your AI code.

  • Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.

  • An MCP server for deep research or task groups

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gdgfd22/deepseek-harness-ssh'

If you have feedback or need assistance with the MCP directory API, please join our Discord server