Codync
무료 오픈소스 1:1 대안, Grok Bot과 Muse 대신
this is a collection of tools that allows your agent to execute commands on your remote servers
개발 도구GitHub @KinoThe-Kafkaesque직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A Model Context Protocol (MCP) server implementation that provides SSH capabilities. This server allows for secure remote access and execution through the MCP protocol.
To install SSH Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @KinoThe-Kafkaesque/ssh-mcp-server --client claude
git clone <repository-url>
cd ssh-server
npm install
npm run build
The server uses a SQLite database (ssh.db) to store SSH credentials. The
database file will be created automatically when the server starts.
The server stores named credentials, then every remote action refers to a
credentialName. privateKeyPath must point to an existing private key
(~/ expands to your home directory).
Host keys are verified: the first time a credential connects, the server's
host key fingerprint is pinned in ~/ssh.db. Later connections that present a
different key are refused with HOST_KEY_MISMATCH. To pin a known key up
front, pass hostKeyFingerprint (the SHA256:... value printed by
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub on the server). After a
legitimate key change, remove the credential and add it again.
add_credential: save { "name", "host", "username", "privateKeyPath", "hostKeyFingerprint"? }.list_credentials: list stored credential records.remove_credential: delete { "name" }.ssh_exec: run a shell command with { "credentialName", "command", "timeout" }.ssh_exec_raw: run an argv-style command array, for example { "credentialName": "prod", "command": ["grep", "-E", "foo|bar", "/var/log/app.log"] }.scp_copy: copy one file over SFTP with { "credentialName", "localPath", "remotePath", "direction" }.rsync_copy: copy directories or larger trees with rsync and the same transfer shape.ssh_session_start, ssh_session_send, ssh_session_read, ssh_session_end, ssh_session_list: manage interactive SSH sessions.ssh_tunnel_start, ssh_tunnel_list, ssh_tunnel_stop: manage local or remote port-forwarding tunnels.Example:
{
"tool_name": "ssh_exec",
"arguments": {
"credentialName": "prod",
"command": "uptime",
"timeout": 120000
}
}
npm start
The server will start running on the configured port (default settings can be modified in the source code).
The CLI shares the MCP server's ~/ssh.db credential store. For remote work it
uses an OpenSSH multiplexed connection, so separate CLI invocations for the
same host, username, and key reuse one authenticated transport. Build first,
then run with npm run cli -- or via the sshcli bin after npm link:
npm run build && npm run cli -- <command>
# or, after linking:
npx sshcli <command>
Commands:
sshcli creds add prod --host 1.2.3.4 --user ubuntu --key ~/.ssh/id_rsa
sshcli creds list
sshcli creds rm prod
sshcli exec prod uptime
sshcli exec prod --timeout 30000 -- df -h /
sshcli exec --raw prod grep -E 'foo|bar' /var/log/app.log
sshcli scp prod ./file.txt /tmp/file.txt toRemote
sshcli rsync prod ./dir/ /tmp/dir/ fromRemote
sshcli session prod # live interactive shell; Ctrl+D or exit to close
sshcli tunnel prod --type local --local-port 8080 --remote-host localhost --remote-port 80
sshcli cache status prod
sshcli cache close prod
Notes:
exec, the variadic <command...> is greedy, so put options like
--timeout and --raw before the command tokens.exec, scp, rsync, session, and tunnel all reuse the same connection.
Idle connections remain cached for 30 minutes by default.session and tunnel are foreground commands that block until the shell
closes or you press Ctrl+C, respectively; exiting them does not close the
shared transport.session and tunnel commands instead.$XDG_RUNTIME_DIR/sshcli/connections (or a private
per-user temporary directory). Tune it with
SSHCLI_CONTROL_PERSIST_SECONDS, SSHCLI_RECONNECT_BACKOFF_MS,
SSHCLI_RECONNECT_BACKOFF_MAX_MS, or SSHCLI_CACHE_DIR.PATH for their corresponding
CLI commands.src/ - Source code directorybuild/ - Compiled JavaScript outputnode_modules/ - Project dependencies@modelcontextprotocol/sdk: MCP protocol implementationsqlite3: SQLite database drivertypescript: Development dependency for TypeScript supportTo make changes to the project:
src/ directorynpm run build
npm start
MIT