
tufantunc/ssh-mcp
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
MCP 서버가 모델 컨텍스트 프로토콜을 통해 Linux 서버에 SSH 제어를 노출합니다.
개요
리눅스와 윈도우 시스템에 SSH 제어를 제공하는 로컬 모델 컨텍스트 프로토콜(MCP) 서버로, LLM 및 기타 MCP 클라이언트가 SSH를 통해 셸 명령을 안전하게 실행할 수 있도록 합니다. - SSH MCP 서버 설치 - SSH MCP 서버 구성 - MCP 클라이언트(예: Claude Desktop, 커서 등) 설정 - 자연어를 통해 Linux 또는 Windows 서버에서 원격 셸 명령 실행 - MCP 호환 서버, SSH 기능을 노출 - 원격 리눅스 및 윈도우 시스템에서 셸 명령어 실행 - 비밀번호 또는 SSH 키를 통한 보안 인증 - TypeScript와 공식 MCP SDK로 빌드됨 - 자동 프로세스 중단 기능 - - 연결을 닫기 전에 중단된 프로세스를 종료 시도 - exec: 원격 서버에서 셸 명령어 실행 - - 명령(필수): 원격 SSH 서버에서 실행하기 위한 셸 명령 - 설명(선택 사항): 이 명령어가 할 일에 대한 선택적 설명(주석으로 첨부) - - sudo-exec: sudo elevation - - command...
개요(AI 번역)
SSH MCP 서버는 보안 우선의 모델 컨텍스트 프로토콜 서버로, LLM 에이전트가 원격 호스트에 대한 통제된 SSH 접근을 명령 분류, 정책 기반 권한, 인간 간 승인, 완전한 감사 기록 기능을 제공합니다.
이 서버가 관리해야 할 위험. 원격 호스트에 LLM 셸 접근을 부여하면 개인 데이터, 신뢰할 수 없는 입력, 네트워크 이출이 한 곳에 모이게 됩니다 — Simon Willison의 '치명적인 삼위일체’입니다. 프롬프트 인젝션은 일반적인 해결책이 없기 때문에, ssh-mcp는 어떤 명령이든 공격자의 영향을 받을 수 있다고 가정합니다: 실행 전에 분류하고, 호스트-그룹 매트릭스× 역할에 대해 권한을 부여하며, 파괴적인 작업을 승인 뒤에 차단하고, 어느 쪽이든 결정을 기록합니다. 이로 인해 폭발 반경이 좁혀지지만; 위험을 완전히 없애지는 않습니다. 두 가지는 당신의 책임입니다: 절대 루트 계정에 지정하지 말라, 그리고 프로덕션 프로필에
auto승인을 설정하지 마세요. SECURITY.md 는 전체 위협 모델을 갖추고 있습니다.
퀵 스타트
1. 설치
2. 구성
설정이 없어도 서버는 계속 시작되므로, 클라이언트나 디렉터리가 MCP를 완성할 수 있습니다
핸드셰이크하고 tools/list를 읽으세요 — 하지만 모든 툴 호출은 설정하기 전까지 거부됩니다.
아래에 경로 이름을 적은 메시지가 있습니다.
이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.
README
원문 README의 일부입니다. 원문 보기.
SSH MCP Server v2
SSH MCP Server is a security-first Model Context Protocol server that gives LLM agents controlled SSH access to remote hosts — with command classification, policy-based authorization, human-in-the-loop approval, and full audit logging.
The risk this server exists to manage. Giving an LLM shell access on a remote host puts private data, untrusted input and network egress in one place — Simon Willison’s “lethal trifecta”. Prompt injection has no general fix, so ssh-mcp assumes any command may be attacker-influenced: it classifies before executing, authorizes against a role × host-group matrix, gates destructive work behind approval, and records the decision either way. That narrows the blast radius; it does not remove the risk. Two things stay yours: never point it at a root account, and never set
autoapproval on a production profile. SECURITY.md has the full threat model.
Quick Start
1. Install
npm install -g ssh-mcp
2. Configure
Without a config the server still starts, so a client or directory can complete the MCP
handshake and read tools/list — but every tool call is refused until you configure it,
with a message naming the path below. Nothing runs on a host until this step is done. The
one exception is reload-config: write the file, then call it with action: "reload" (or
restart the server) to configure a server that is already running — see
Reloading.
Create the config file at the path for your platform:
| Platform | Path |
|---|---|
| Linux | ~/.config/ssh-mcp/config.toml (or $XDG_CONFIG_HOME/ssh-mcp/config.toml) |
| macOS | ~/Library/Application Support/ssh-mcp/config.toml |
| Windows | %APPDATA%\ssh-mcp\config.toml |
[defaults]
defaultProfile = "dev"
approvalMode = "ask-destructive"
[[profiles]]
name = "dev"
host = "192.168.1.100"
port = 22
user = "deploy" # NOT root!
auth = "key"
설치
npx ssh-mcp --host=1.2.3.4 --user=root --password=hunter2설정
{
"mcpServers": {
"ssh-mcp": {
"command": "ssh-mcp",
"env": {
"SSH_MCP_PASSWORD": "your-password"
}
}
}
}