SSH MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Manages SSH credentials storage through a SQLite database, enabling persistence of connection details for remote command execution.

SSH MCP 서버

SSH 기능을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버 구현입니다. 이 서버는 MCP 프로토콜을 통한 안전한 원격 액세스 및 실행을 지원합니다.

특징

  • MCP 프로토콜을 사용한 SSH 서버 구현
  • 데이터 지속성을 위한 SQLite 데이터베이스 통합
  • 유형 안전성과 더 나은 개발 경험을 위한 TypeScript 구현

필수 조건

  • Node.js(v16 이상 권장)
  • npm 또는 yarn 패키지 관리자
  • 개발을 위한 TypeScript 지식

설치

  1. 저장소를 복제합니다.

지엑스피1

  1. 종속성 설치:
npm install
  1. 프로젝트를 빌드하세요:
npm run build

용법

구성

서버는 SQLite 데이터베이스( ssh.db )를 사용하여 SSH 자격 증명을 저장합니다. 데이터베이스 파일은 서버 시작 시 자동으로 생성됩니다.

도구

서버는 다음과 같은 도구를 제공합니다.

ssh_exec

SSH를 통해 명령을 실행합니다.

입력 매개변수:

  • host : 연결할 호스트입니다. (필수)
  • command : 실행할 명령입니다. (필수)
  • username : SSH 연결에 사용할 사용자 이름입니다. (필수)
  • privateKeyPath : 개인 키 파일의 경로입니다. (필수)

사용 예:

{ "tool_name": "ssh_exec", "arguments": { "host": "example.com", "command": "ls -l", "username": "user", "privateKeyPath": "/path/to/private/key" } }

참고: privateKeyPath 는 개인 키 파일에 대한 유효한 경로여야 합니다.

자격 증명 추가

새로운 SSH 자격 증명을 추가합니다.

입력 매개변수:

  • name : 자격 증명의 이름입니다. (필수)
  • host : 연결할 호스트입니다. (필수)
  • username : SSH 연결에 사용할 사용자 이름입니다. (필수)
  • privateKeyPath : 개인 키 파일의 경로입니다. (필수)

사용 예:

{ "tool_name": "add_credential", "arguments": { "name": "my_credential", "host": "example.com", "username": "user", "privateKeyPath": "/path/to/private/key" } }

참고: privateKeyPath 는 개인 키 파일에 대한 유효한 경로여야 합니다.

자격 증명 목록

저장된 모든 SSH 자격 증명을 나열합니다.

입력 매개변수:

  • 없음

사용 예:

{ "tool_name": "list_credentials", "arguments": {} }

자격 증명 제거

저장된 SSH 자격 증명을 제거합니다.

입력 매개변수:

  • name : 제거할 자격 증명의 이름입니다. (필수)

사용 예:

{ "tool_name": "remove_credential", "arguments": { "name": "my_credential" } }

서버 시작

npm start

서버는 구성된 포트에서 실행되기 시작합니다(기본 설정은 소스 코드에서 수정할 수 있습니다).

프로젝트 구조

  • src/ - 소스 코드 디렉토리
  • build/ - 컴파일된 JavaScript 출력
  • node_modules/ - 프로젝트 종속성

종속성

  • @modelcontextprotocol/sdk : MCP 프로토콜 구현
  • sqlite3 : SQLite 데이터베이스 드라이버
  • typescript : TypeScript 지원을 위한 개발 종속성

개발

프로젝트를 변경하려면:

  1. src/ 디렉토리에서 변경하세요
  2. 프로젝트를 다시 빌드합니다.
npm run build
  1. 변경 사항을 테스트하려면 서버를 시작하세요.
npm start

특허

아이에스씨

기여하다

  1. 저장소를 포크하세요
  2. 기능 브랜치를 생성하세요
  3. 변경 사항을 커밋하세요
  4. 지점으로 밀어 넣기
  5. 새로운 풀 리퀘스트 만들기

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

SSH를 통해 안전한 원격 명령 실행을 가능하게 하는 모델 컨텍스트 프로토콜 서버 구현으로, SSH 자격 증명을 관리하고 사용하는 기능이 포함되어 있습니다.

  1. Features
    1. Prerequisites
      1. Installation
        1. Usage
          1. Configuration
          2. Tools
          3. Starting the server
        2. Project Structure
          1. Dependencies
            1. Development
              1. License
                1. Contributing
                  ID: miatd78x95