SSH MCP 서버
SSH 기능을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버 구현입니다. 이 서버는 MCP 프로토콜을 통한 안전한 원격 액세스 및 실행을 지원합니다.
특징
MCP 프로토콜을 사용한 SSH 서버 구현
데이터 지속성을 위한 SQLite 데이터베이스 통합
유형 안전성과 더 나은 개발 경험을 위한 TypeScript 구현
Related MCP server: Shell MCP Server
필수 조건
Node.js(v16 이상 권장)
npm 또는 yarn 패키지 관리자
개발을 위한 TypeScript 지식
설치
Smithery를 통해 설치
Smithery를 통해 Claude Desktop용 SSH 서버를 자동으로 설치하려면:
지엑스피1
수동 설치
저장소를 복제합니다.
git clone <repository-url>
cd ssh-server종속성 설치:
npm install프로젝트를 빌드하세요:
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 지원을 위한 개발 종속성
개발
프로젝트를 변경하려면:
src/디렉토리에서 변경하세요프로젝트를 다시 빌드합니다.
npm run build변경 사항을 테스트하려면 서버를 시작하세요.
npm start특허
아이에스씨
기여하다
저장소를 포크하세요
기능 브랜치를 생성하세요
변경 사항을 커밋하세요
지점으로 밀어 넣기
새로운 풀 리퀘스트 만들기