enterprise-ssh-mcp-server 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +27 -2
- package/dist/app/tool-context.d.ts +34 -48
- package/dist/app/tool-context.js +2 -1
- package/dist/app/tool-context.js.map +1 -1
- package/dist/openssh-command.d.ts +2 -0
- package/dist/openssh-command.js +12 -2
- package/dist/openssh-command.js.map +1 -1
- package/dist/openssh-temporary.d.ts +1 -0
- package/dist/openssh-temporary.js +3 -2
- package/dist/openssh-temporary.js.map +1 -1
- package/dist/saved-credential-run.d.ts +19 -0
- package/dist/saved-credential-run.js +44 -0
- package/dist/saved-credential-run.js.map +1 -0
- package/dist/secure-credentials.d.ts +15 -0
- package/dist/secure-credentials.js +63 -0
- package/dist/secure-credentials.js.map +1 -0
- package/dist/tools/register-session-tools.js +36 -4
- package/dist/tools/register-session-tools.js.map +1 -1
- package/dist/tools/tool-metadata.d.ts +1 -1
- package/dist/tools/tool-metadata.js +7 -0
- package/dist/tools/tool-metadata.js.map +1 -1
- package/docs/windows-dpapi-credentials.md +62 -0
- package/package.json +6 -3
- package/scripts/Get-SshMcpCredential.ps1 +27 -0
- package/scripts/Set-SshMcpCredential.ps1 +53 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.4 - 2026-10-25
|
|
4
|
+
|
|
5
|
+
- Add `ssh_saved_credential_status` and `ssh_run_saved_credential` for Windows user-bound DPAPI SSH credentials; MCP receives only a credential alias.
|
|
6
|
+
- Add interactive `Set-SshMcpCredential.ps1` enrollment with hidden password input, per-user ACLs, host/port/username binding and mandatory independently verified SHA-256 host-key pin.
|
|
7
|
+
- Read secrets via a short-lived local PowerShell child-process pipe, never through MCP tool request fields, native process argv, environment variables, or on-disk plaintext.
|
|
8
|
+
- Execute one-off remote commands using pinned ssh2 host verification; close temporary sessions even on command failure.
|
|
9
|
+
- Add 9 security and integration regressions including a real Windows DPAPI Unicode roundtrip and a disposable-credential live SSH authentication negative test.
|
|
10
|
+
- Update the runtime MCP SDK to >=1.32.2 and Zod to >=4.6.7 to address known runtime security advisories; adapt Zod 4 record schemas.
|
|
11
|
+
- Production runtime audit reports zero known vulnerabilities at release time; actual server password login still requires locally enrolled credentials.
|
|
12
|
+
|
|
13
|
+
## 0.3.3 - 2026-10-25
|
|
14
|
+
|
|
15
|
+
- Add an explicit, optional one-shot InstaBox `ephemeralToken` credential source for `ssh_run_openssh_temporary` and `ssh_run_openssh`; no prior per-token setup script is needed.
|
|
16
|
+
- Preserve local CA fingerprint pinning or native OpenSSH known_hosts verification; an untrusted host is still rejected before sending credentials.
|
|
17
|
+
- Do not expose a one-shot token in native SSH process arguments or returned output; isolate transient config files and clean them up.
|
|
18
|
+
- Keep `usernameEnvVar` as the preferred option when avoiding potentially logged MCP tool arguments, and document the privacy tradeoffs.
|
|
19
|
+
- Add integration coverage for one-shot tokens, response redaction, temporary file cleanup, input validation, and missing CA trust.
|
|
20
|
+
|
|
3
21
|
## 0.3.2 - 2026-10-25
|
|
4
22
|
|
|
5
23
|
- Refactor MCP tool registration into domain-focused modules while preserving the stdio entry point and existing tool names.
|
package/README.md
CHANGED
|
@@ -82,6 +82,16 @@ macOS / Linux 全局安装后可以直接使用命令入口:
|
|
|
82
82
|
|
|
83
83
|
## 本地开发
|
|
84
84
|
|
|
85
|
+
### Windows 加密密码与临时 SSH 连接
|
|
86
|
+
|
|
87
|
+
新增 `ssh_saved_credential_status` 和 `ssh_run_saved_credential`。
|
|
88
|
+
先在本机 PowerShell 交互式录入密码,由 Windows DPAPI 加密保存;之后
|
|
89
|
+
MCP 仅需 `credentialId` 与远程命令,不再传输明文 SSH 密码。
|
|
90
|
+
凭据绑定主机、用户名、端口与独立核实的 SSH 主机公钥指纹,每次执行
|
|
91
|
+
均单独连接并在结束后断开。参见
|
|
92
|
+
[`docs/windows-dpapi-credentials.md`](docs/windows-dpapi-credentials.md)。
|
|
93
|
+
|
|
94
|
+
|
|
85
95
|
```powershell
|
|
86
96
|
npm install
|
|
87
97
|
npm run build
|
|
@@ -174,9 +184,11 @@ InstaBox 官方的 Connect → Create token 会生成形如 `ssh ibssh_…@<host
|
|
|
174
184
|
|
|
175
185
|
永久信任流程:先按上面步骤配置可信 CA pin,再调用 `ssh_probe_host_key` 检查证书,并在确认需要写入永久信任后调用 `ssh_trust_host_ca`,将探测得到的 `certificateAuthority.knownHostsEntry` 登记到本机 `~/.ssh/known_hosts`。该工具会再次校验 CA 公钥与本地 pin 完全一致;它不会自行建立新的信任锚,也不会覆盖同一主机已存在的冲突 CA。
|
|
176
186
|
|
|
177
|
-
临时信任流程:无需修改永久 `known_hosts`。在 MCP 客户端环境中配置经过独立核验的 CA pin 后,调用 `ssh_run_openssh_temporary
|
|
187
|
+
临时信任流程:无需修改永久 `known_hosts`。在 MCP 客户端环境中配置经过独立核验的 CA pin 后,调用 `ssh_run_openssh_temporary`。可以使用环境变量名 `usernameEnvVar`,或明确选择一次性的 `ephemeralToken`;两者不能同时传入。工具会重新探测实时 CA,并要求其指纹与本地 pin 完全匹配;验证失败时不会运行命令。验证通过后才会创建临时 trust store,命令结束即清理。工具调用不接受 `expectedHostCaFingerprint` 或 `confirmedHostCaFingerprint` 参数,防止模型把未验证的探测结果自我确认。
|
|
188
|
+
|
|
189
|
+
**认证有两种选择。** 默认推荐将 InstaBox Token 存在 MCP 子进程环境,通过 `usernameEnvVar` 引用;新增可选 `ephemeralToken` 允许在某一次 MCP 请求中直接传入凭据,不需要运行预保存脚本,执行后 MCP server 不持久化该 Token。**注意:MCP 客户端、模型平台、工具传输层及调用日志仍可能记录参数;“单次使用”不意味着聊天或工具日志不会保留秘密。** 不要在不可信或有广泛日志留存的聊天/工具链里使用该参数。对于高权限、长期有效的 Token,推荐本机安全凭据存储。直接把 `ibssh_…` token 放进 `host` 或 `username` 参数仍会被拒绝。
|
|
178
190
|
|
|
179
|
-
|
|
191
|
+
两种方式均通过隔离的临时 OpenSSH 配置传入 SSH 用户名,使 Token 不出现在原生 `ssh.exe` 的命令行参数。程序会将 Token 短暂写入系统临时目录中的 OpenSSH 配置文件,并在子进程结束(包括启动失败)后清理;POSIX 系统会以 `0600` 创建文件,Windows 访问保护取决于临时目录 ACL。不要在共享或权限宽松的 Windows 账户环境中使用此方式,也不要把真实 token 写进仓库或共享配置。
|
|
180
192
|
|
|
181
193
|
示例(仅在已核验并明确确认 InstaBox 主机 CA 指纹后使用;临时信任,不写永久 `known_hosts`):
|
|
182
194
|
|
|
@@ -189,6 +201,19 @@ InstaBox 官方的 Connect → Create token 会生成形如 `ssh ibssh_…@<host
|
|
|
189
201
|
}
|
|
190
202
|
```
|
|
191
203
|
|
|
204
|
+
`ephemeralToken` 示例(**演示占位值,不是真实凭据**;仍需事先在本机核验并固定 CA pin):
|
|
205
|
+
|
|
206
|
+
```json
|
|
207
|
+
{
|
|
208
|
+
"host": "ssh.instabox.sh",
|
|
209
|
+
"port": 2222,
|
|
210
|
+
"ephemeralToken": "ibssh_test_fixture_replace_for_one_request",
|
|
211
|
+
"command": "uname -a"
|
|
212
|
+
}
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
其他普通 SSH 主机可以直接调用 `ssh_connect` 并提供 `host`、`port`、`username`、`password` 或私钥信息,获得 `sessionId` 后执行命令/SFTP,再 `ssh_disconnect`。不需要新建 Profile、运行本机脚本或者重新启动 MCP。仅 InstaBox 等使用 OpenSSH 主机证书而不被 `ssh2` 支持的网关,需要用一次性原生 OpenSSH 命令工具;它目前不支持持久交互 Shell/SFTP。
|
|
216
|
+
|
|
192
217
|
`ssh_probe_host_key` 的返回值包含 `certificateAuthority.fingerprint` 和 `certificateAuthority.knownHostsEntry`。前者必须通过可信渠道独立核验后写入本地 pin 配置,后者只有在 CA 身份与 pin 匹配后才应加入 OpenSSH `known_hosts`;探测结果本身不等于信任。
|
|
193
218
|
|
|
194
219
|
InstaBox token 用户名会在 Profile/会话结果和调试日志中脱敏。不要把 token 写入仓库或共享 `.env`;如果 token 已经暴露在聊天、日志或其他不可信位置,请在 InstaBox 中撤销并重新创建。
|
|
@@ -17,29 +17,11 @@ declare const ptySchema: z.ZodObject<{
|
|
|
17
17
|
height: z.ZodOptional<z.ZodNumber>;
|
|
18
18
|
width: z.ZodOptional<z.ZodNumber>;
|
|
19
19
|
term: z.ZodOptional<z.ZodString>;
|
|
20
|
-
},
|
|
21
|
-
rows?: number | undefined;
|
|
22
|
-
cols?: number | undefined;
|
|
23
|
-
height?: number | undefined;
|
|
24
|
-
width?: number | undefined;
|
|
25
|
-
term?: string | undefined;
|
|
26
|
-
}, {
|
|
27
|
-
rows?: number | undefined;
|
|
28
|
-
cols?: number | undefined;
|
|
29
|
-
height?: number | undefined;
|
|
30
|
-
width?: number | undefined;
|
|
31
|
-
term?: string | undefined;
|
|
32
|
-
}>;
|
|
20
|
+
}, z.core.$strip>;
|
|
33
21
|
declare const expectedFileSchema: z.ZodObject<{
|
|
34
22
|
path: z.ZodString;
|
|
35
|
-
sha256: z.ZodUnion<[z.ZodString, z.ZodLiteral<"absent">]>;
|
|
36
|
-
},
|
|
37
|
-
path: string;
|
|
38
|
-
sha256: string;
|
|
39
|
-
}, {
|
|
40
|
-
path: string;
|
|
41
|
-
sha256: string;
|
|
42
|
-
}>;
|
|
23
|
+
sha256: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"absent">]>;
|
|
24
|
+
}, z.core.$strip>;
|
|
43
25
|
type ToolConfig<OutputArgs extends ZodRawShapeCompat | AnySchema, InputArgs extends undefined | ZodRawShapeCompat | AnySchema = undefined> = {
|
|
44
26
|
title?: string;
|
|
45
27
|
description?: string;
|
|
@@ -48,7 +30,15 @@ type ToolConfig<OutputArgs extends ZodRawShapeCompat | AnySchema, InputArgs exte
|
|
|
48
30
|
annotations?: ToolAnnotations;
|
|
49
31
|
_meta?: Record<string, unknown>;
|
|
50
32
|
};
|
|
51
|
-
declare const remoteCheckNameSchema: z.ZodEnum<
|
|
33
|
+
declare const remoteCheckNameSchema: z.ZodEnum<{
|
|
34
|
+
identity: "identity";
|
|
35
|
+
pwd: "pwd";
|
|
36
|
+
os: "os";
|
|
37
|
+
uptime: "uptime";
|
|
38
|
+
disk: "disk";
|
|
39
|
+
memory: "memory";
|
|
40
|
+
processes: "processes";
|
|
41
|
+
}>;
|
|
52
42
|
type RemoteCheckName = z.infer<typeof remoteCheckNameSchema>;
|
|
53
43
|
declare function registerTool<OutputArgs extends ZodRawShapeCompat | AnySchema, InputArgs extends undefined | ZodRawShapeCompat | AnySchema = undefined>(name: string, config: ToolConfig<OutputArgs, InputArgs>, cb: ToolCallback<InputArgs>): RegisteredTool | undefined;
|
|
54
44
|
type ExpectedFile = z.infer<typeof expectedFileSchema>;
|
|
@@ -159,8 +149,19 @@ export declare const toolContext: {
|
|
|
159
149
|
profiles: ProfileRegistry;
|
|
160
150
|
runtimeConfig: RuntimeConfigRegistry;
|
|
161
151
|
reloadEnvState: () => import("../env-reload.js").EnvReloadSnapshot;
|
|
162
|
-
wireEncodingSchema: z.ZodDefault<z.ZodEnum<
|
|
163
|
-
|
|
152
|
+
wireEncodingSchema: z.ZodDefault<z.ZodEnum<{
|
|
153
|
+
utf8: "utf8";
|
|
154
|
+
base64: "base64";
|
|
155
|
+
}>>;
|
|
156
|
+
remoteCheckNameSchema: z.ZodEnum<{
|
|
157
|
+
identity: "identity";
|
|
158
|
+
pwd: "pwd";
|
|
159
|
+
os: "os";
|
|
160
|
+
uptime: "uptime";
|
|
161
|
+
disk: "disk";
|
|
162
|
+
memory: "memory";
|
|
163
|
+
processes: "processes";
|
|
164
|
+
}>;
|
|
164
165
|
DEFAULT_REMOTE_CHECKS: ("identity" | "pwd" | "os" | "uptime" | "disk" | "memory" | "processes")[];
|
|
165
166
|
REMOTE_CHECK_COMMANDS: Record<"identity" | "pwd" | "os" | "uptime" | "disk" | "memory" | "processes", {
|
|
166
167
|
title: string;
|
|
@@ -183,18 +184,15 @@ export declare const toolContext: {
|
|
|
183
184
|
sha256: typeof sha256;
|
|
184
185
|
editHistory: Map<string, EditRecord>;
|
|
185
186
|
projectRootSchema: z.ZodOptional<z.ZodString>;
|
|
186
|
-
fileEncodingSchema: z.ZodDefault<z.ZodEnum<
|
|
187
|
-
|
|
187
|
+
fileEncodingSchema: z.ZodDefault<z.ZodEnum<{
|
|
188
|
+
utf8: "utf8";
|
|
189
|
+
base64: "base64";
|
|
190
|
+
}>>;
|
|
191
|
+
expectedShaSchema: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"absent">]>;
|
|
188
192
|
expectedFileSchema: z.ZodObject<{
|
|
189
193
|
path: z.ZodString;
|
|
190
|
-
sha256: z.ZodUnion<[z.ZodString, z.ZodLiteral<"absent">]>;
|
|
191
|
-
},
|
|
192
|
-
path: string;
|
|
193
|
-
sha256: string;
|
|
194
|
-
}, {
|
|
195
|
-
path: string;
|
|
196
|
-
sha256: string;
|
|
197
|
-
}>;
|
|
194
|
+
sha256: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"absent">]>;
|
|
195
|
+
}, z.core.$strip>;
|
|
198
196
|
projectPathSchema: z.ZodString;
|
|
199
197
|
connectProjectWorkspace: typeof connectProjectWorkspace;
|
|
200
198
|
inspectRemoteProject: typeof inspectRemoteProject;
|
|
@@ -220,19 +218,7 @@ export declare const toolContext: {
|
|
|
220
218
|
height: z.ZodOptional<z.ZodNumber>;
|
|
221
219
|
width: z.ZodOptional<z.ZodNumber>;
|
|
222
220
|
term: z.ZodOptional<z.ZodString>;
|
|
223
|
-
},
|
|
224
|
-
rows?: number | undefined;
|
|
225
|
-
cols?: number | undefined;
|
|
226
|
-
height?: number | undefined;
|
|
227
|
-
width?: number | undefined;
|
|
228
|
-
term?: string | undefined;
|
|
229
|
-
}, {
|
|
230
|
-
rows?: number | undefined;
|
|
231
|
-
cols?: number | undefined;
|
|
232
|
-
height?: number | undefined;
|
|
233
|
-
width?: number | undefined;
|
|
234
|
-
term?: string | undefined;
|
|
235
|
-
}>;
|
|
221
|
+
}, z.core.$strip>;
|
|
236
222
|
compactExecPty: typeof compactExecPty;
|
|
237
223
|
compactPty: typeof compactPty;
|
|
238
224
|
entryToJson: typeof entryToJson;
|
|
@@ -249,7 +235,7 @@ export declare const toolContext: {
|
|
|
249
235
|
sftpSymlink: typeof sftpSymlink;
|
|
250
236
|
sftpUtimes: typeof sftpUtimes;
|
|
251
237
|
sftpWriteFile: typeof sftpWriteFile;
|
|
252
|
-
modeSchema: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
238
|
+
modeSchema: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
|
|
253
239
|
assertNonEmpty: typeof assertNonEmpty;
|
|
254
240
|
transfers: TransferManager;
|
|
255
241
|
positivePortSchema: z.ZodNumber;
|
package/dist/app/tool-context.js
CHANGED
|
@@ -13,6 +13,7 @@ import { AGENT_TOOL_NAMES, DANGEROUS_TOOL_NAMES, resolveToolAnnotations } from "
|
|
|
13
13
|
const SERVER_INSTRUCTIONS = [
|
|
14
14
|
"This server provides SSH/SFTP tools for configured remote hosts.",
|
|
15
15
|
"For a new host that is not saved as a Profile, use ssh_connect for a temporary direct connection; host may be a hostname/IP with a separate username, or username@hostname.",
|
|
16
|
+
"For password-authenticated Windows SSH hosts, prefer ssh_saved_credential_status and ssh_run_saved_credential with a locally enrolled DPAPI alias; never request passwords as MCP arguments. Enroll locally using Set-SshMcpCredential.ps1 and a host-key SHA256 hex verified independently.",
|
|
16
17
|
"A host and port identify the destination but do not by themselves authenticate the user; use the authentication mechanism required by the server.",
|
|
17
18
|
"For InstaBox SSH tokens, the ibssh_… token is the SSH username itself; it needs no password or private key. Treat this username as a bearer secret; responses redact it and it should not be saved in a shared .env file.",
|
|
18
19
|
"The current ssh2 persistent-session backend cannot negotiate InstaBox's OpenSSH host-certificate algorithm. ssh_probe_host_key can inspect the certificate without authentication; ssh_connect refuses this target before sending the token. For a one-shot command, use ssh_run_openssh_temporary only after a host-specific CA fingerprint has been independently verified and pinned in the local MCP process environment variable SSH_MCP_TRUSTED_HOST_CA_FINGERPRINTS. Tool arguments cannot create or override this trust anchor. Call ssh_trust_host_ca only when the CA key matches that local pin and the user wants permanent known_hosts trust; prefer usernameEnvVar to avoid passing a token in tool arguments. Persistent Shell/SFTP/tunnel support for this certificate backend remains future work.",
|
|
@@ -25,7 +26,7 @@ const SERVER_INSTRUCTIONS = [
|
|
|
25
26
|
].join(" ");
|
|
26
27
|
const server = new McpServer({
|
|
27
28
|
name: "enterprise-ssh-mcp-server",
|
|
28
|
-
version: "0.3.
|
|
29
|
+
version: "0.3.4",
|
|
29
30
|
}, {
|
|
30
31
|
instructions: SERVER_INSTRUCTIONS,
|
|
31
32
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-context.js","sourceRoot":"","sources":["../../src/app/tool-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-context.js","sourceRoot":"","sources":["../../src/app/tool-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ export interface OpenSshCommandInput {
|
|
|
3
3
|
host: string;
|
|
4
4
|
username?: string;
|
|
5
5
|
usernameEnvVar?: string;
|
|
6
|
+
/** One-shot InstaBox credential; the MCP client may log this tool argument. */
|
|
7
|
+
ephemeralToken?: string;
|
|
6
8
|
port: number;
|
|
7
9
|
command: string;
|
|
8
10
|
identityFile?: string;
|
package/dist/openssh-command.js
CHANGED
|
@@ -30,6 +30,15 @@ export function buildOpenSshArgs(input, host, username) {
|
|
|
30
30
|
return args;
|
|
31
31
|
}
|
|
32
32
|
export function resolveOpenSshTarget(input, environment = process.env) {
|
|
33
|
+
if (input.ephemeralToken !== undefined) {
|
|
34
|
+
if (input.usernameEnvVar !== undefined || input.username !== undefined || input.host.includes("@")) {
|
|
35
|
+
throw new McpToolError("ssh_target_username_conflict", "Choose exactly one username or token source");
|
|
36
|
+
}
|
|
37
|
+
if (input.host.toLowerCase().trim() !== "ssh.instabox.sh" || !/^ibssh_[A-Za-z0-9_-]+$/.test(input.ephemeralToken)) {
|
|
38
|
+
throw new McpToolError("instabox_token_invalid", "One-shot InstaBox token or host is invalid");
|
|
39
|
+
}
|
|
40
|
+
return parseSshTarget({ host: input.host, username: input.ephemeralToken });
|
|
41
|
+
}
|
|
33
42
|
if (input.usernameEnvVar === undefined) {
|
|
34
43
|
return parseSshTarget({ host: input.host, username: input.username });
|
|
35
44
|
}
|
|
@@ -73,8 +82,8 @@ export async function runOpenSshCommand(input) {
|
|
|
73
82
|
throw new McpToolError("instabox_token_auth_conflict", "InstaBox SSH token authentication uses the username; do not attach a private-key file to this connection", { host: target.host, port: input.port });
|
|
74
83
|
}
|
|
75
84
|
if (target.host.toLowerCase() === "ssh.instabox.sh") {
|
|
76
|
-
if (input.usernameEnvVar === undefined) {
|
|
77
|
-
throw new McpToolError("instabox_token_env_required", "For InstaBox,
|
|
85
|
+
if (input.usernameEnvVar === undefined && input.ephemeralToken === undefined) {
|
|
86
|
+
throw new McpToolError("instabox_token_env_required", "For InstaBox, use usernameEnvVar or an explicit one-shot ephemeralToken. MCP clients may log request arguments.");
|
|
78
87
|
}
|
|
79
88
|
if (!/^ibssh_/i.test(target.username)) {
|
|
80
89
|
throw new McpToolError("instabox_token_invalid", "The configured InstaBox SSH token must use the expected ibssh_ token format");
|
|
@@ -86,6 +95,7 @@ export async function runOpenSshCommand(input) {
|
|
|
86
95
|
let args;
|
|
87
96
|
const needsIsolatedConfig = input.knownHostsPath !== undefined
|
|
88
97
|
|| input.usernameEnvVar !== undefined
|
|
98
|
+
|| input.ephemeralToken !== undefined
|
|
89
99
|
|| isInstaboxSshTokenTarget(target);
|
|
90
100
|
if (needsIsolatedConfig) {
|
|
91
101
|
// Keep environment-provided usernames/tokens out of process arguments.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openssh-command.js","sourceRoot":"","sources":["../src/openssh-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAkB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"openssh-command.js","sourceRoot":"","sources":["../src/openssh-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,8 +19,8 @@ export async function runOpenSshCommandWithTemporaryHostCa(input) {
|
|
|
19
19
|
const target = resolveOpenSshTarget(input);
|
|
20
20
|
const host = target.host;
|
|
21
21
|
if (host.toLowerCase() === "ssh.instabox.sh") {
|
|
22
|
-
if (input.usernameEnvVar === undefined) {
|
|
23
|
-
throw new McpToolError("instabox_token_env_required", "For InstaBox,
|
|
22
|
+
if (input.usernameEnvVar === undefined && input.ephemeralToken === undefined) {
|
|
23
|
+
throw new McpToolError("instabox_token_env_required", "For InstaBox, use usernameEnvVar or an explicit one-shot ephemeralToken. MCP clients may log request arguments.");
|
|
24
24
|
}
|
|
25
25
|
if (!isInstaboxSshTokenTarget(target)) {
|
|
26
26
|
throw new McpToolError("instabox_token_invalid", "The configured InstaBox SSH token must use the expected ibssh_ token format");
|
|
@@ -65,6 +65,7 @@ export async function runOpenSshCommandWithTemporaryHostCa(input) {
|
|
|
65
65
|
knownHostsPath,
|
|
66
66
|
...(input.username === undefined ? {} : { username: input.username }),
|
|
67
67
|
...(input.usernameEnvVar === undefined ? {} : { usernameEnvVar: input.usernameEnvVar }),
|
|
68
|
+
...(input.ephemeralToken === undefined ? {} : { ephemeralToken: input.ephemeralToken }),
|
|
68
69
|
...(input.identityFile === undefined ? {} : { identityFile: input.identityFile }),
|
|
69
70
|
});
|
|
70
71
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openssh-temporary.js","sourceRoot":"","sources":["../src/openssh-temporary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAA6B,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"openssh-temporary.js","sourceRoot":"","sources":["../src/openssh-temporary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ExecResult } from "./ssh-session.js";
|
|
2
|
+
export interface SavedCredentialRunOptions {
|
|
3
|
+
credentialId: string;
|
|
4
|
+
command: string;
|
|
5
|
+
timeoutMs: number;
|
|
6
|
+
maxOutputBytes: number;
|
|
7
|
+
connectionTimeoutMs: number;
|
|
8
|
+
}
|
|
9
|
+
export interface SavedCredentialRunResult {
|
|
10
|
+
credentialId: string;
|
|
11
|
+
host: string;
|
|
12
|
+
port: number;
|
|
13
|
+
username: string;
|
|
14
|
+
verifiedHostHash: string;
|
|
15
|
+
disconnected: true;
|
|
16
|
+
result: ExecResult;
|
|
17
|
+
}
|
|
18
|
+
/** No password is ever supplied in the MCP request, in argv or in an .env. */
|
|
19
|
+
export declare function runSavedCredentialCommand(input: SavedCredentialRunOptions): Promise<SavedCredentialRunResult>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { readCredentialMetadata, decryptCredential } from "./secure-credentials.js";
|
|
2
|
+
import { SshSession } from "./ssh-session.js";
|
|
3
|
+
import { McpToolError } from "./tool-result.js";
|
|
4
|
+
/** No password is ever supplied in the MCP request, in argv or in an .env. */
|
|
5
|
+
export async function runSavedCredentialCommand(input) {
|
|
6
|
+
if (input.command.trim().length === 0 || input.command.length > 16_384) {
|
|
7
|
+
throw new McpToolError("invalid_argument", "Command must be nonempty and at most 16384 characters");
|
|
8
|
+
}
|
|
9
|
+
const metadata = await readCredentialMetadata(input.credentialId);
|
|
10
|
+
let password = await decryptCredential(input.credentialId);
|
|
11
|
+
let session;
|
|
12
|
+
try {
|
|
13
|
+
session = await SshSession.connect({
|
|
14
|
+
host: metadata.host, port: metadata.port, username: metadata.username,
|
|
15
|
+
password, hostHash: "sha256", expectedHostHash: metadata.expectedHostHash,
|
|
16
|
+
agentForward: false, tryKeyboard: false, keyboardResponses: [],
|
|
17
|
+
keepaliveIntervalMs: 10_000, keepaliveCountMax: 3,
|
|
18
|
+
readyTimeoutMs: input.connectionTimeoutMs,
|
|
19
|
+
connectionTimeoutMs: input.connectionTimeoutMs,
|
|
20
|
+
strictVendor: true, debug: false,
|
|
21
|
+
});
|
|
22
|
+
const result = await session.exec({
|
|
23
|
+
command: input.command, timeoutMs: input.timeoutMs, maxOutputBytes: input.maxOutputBytes,
|
|
24
|
+
stdinEncoding: "utf8", outputEncoding: "utf8",
|
|
25
|
+
});
|
|
26
|
+
return {
|
|
27
|
+
credentialId: metadata.id, host: metadata.host, port: metadata.port,
|
|
28
|
+
username: metadata.username, verifiedHostHash: metadata.expectedHostHash,
|
|
29
|
+
disconnected: true, result,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
if (error instanceof Error && password.length > 0 && error.message.includes(password)) {
|
|
34
|
+
throw new McpToolError("ssh_saved_credential_failed", "SSH command failed; sensitive diagnostics were redacted");
|
|
35
|
+
}
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
password = "";
|
|
40
|
+
if (session !== undefined)
|
|
41
|
+
await session.disconnect();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=saved-credential-run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saved-credential-run.js","sourceRoot":"","sources":["../src/saved-credential-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAoBhD,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,KAAgC;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;QACvE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,uDAAuD,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClE,IAAI,QAAQ,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3D,IAAI,OAA+B,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACjC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YACrE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YACzE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;YAC9D,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;YACjD,cAAc,EAAE,KAAK,CAAC,mBAAmB;YACzC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;SACjC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc;YACxF,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;SAC9C,CAAC,CAAC;QACH,OAAO;YACL,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YACxE,YAAY,EAAE,IAAI,EAAE,MAAM;SAC3B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtF,MAAM,IAAI,YAAY,CAAC,6BAA6B,EAAE,yDAAyD,CAAC,CAAC;QACnH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,QAAQ,GAAG,EAAE,CAAC;QACd,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IACxD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Per-user Windows DPAPI store. IDs are not paths and never contain credentials. */
|
|
2
|
+
export declare function credentialPaths(id: string, home?: string): {
|
|
3
|
+
metadata: string;
|
|
4
|
+
encrypted: string;
|
|
5
|
+
};
|
|
6
|
+
export interface SavedCredentialMetadata {
|
|
7
|
+
version: 1;
|
|
8
|
+
id: string;
|
|
9
|
+
host: string;
|
|
10
|
+
port: number;
|
|
11
|
+
username: string;
|
|
12
|
+
expectedHostHash: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function readCredentialMetadata(id: string, home?: string): Promise<SavedCredentialMetadata>;
|
|
15
|
+
export declare function decryptCredential(id: string, home?: string): Promise<string>;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import { readFile, access } from "node:fs/promises";
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
|
+
import { McpToolError } from "./tool-result.js";
|
|
7
|
+
import { parseSshTarget } from "./ssh-target.js";
|
|
8
|
+
const CREDENTIAL_ID = /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/;
|
|
9
|
+
const SHA256_HEX = /^[a-fA-F0-9]{64}$/;
|
|
10
|
+
/** Per-user Windows DPAPI store. IDs are not paths and never contain credentials. */
|
|
11
|
+
export function credentialPaths(id, home = homedir()) {
|
|
12
|
+
if (!CREDENTIAL_ID.test(id)) {
|
|
13
|
+
throw new McpToolError("ssh_credential_id_invalid", "Credential ID must be 1-64 ASCII letters, numbers, underscores or hyphens");
|
|
14
|
+
}
|
|
15
|
+
const directory = join(home, ".ssh-manager", "secure", "ssh-credentials");
|
|
16
|
+
return { metadata: join(directory, `${id}.json`), encrypted: join(directory, `${id}.dpapi`) };
|
|
17
|
+
}
|
|
18
|
+
export async function readCredentialMetadata(id, home) {
|
|
19
|
+
if (process.platform !== "win32") {
|
|
20
|
+
throw new McpToolError("ssh_credential_platform_unsupported", "The Windows DPAPI credential store requires Windows");
|
|
21
|
+
}
|
|
22
|
+
const paths = credentialPaths(id, home);
|
|
23
|
+
let record;
|
|
24
|
+
try {
|
|
25
|
+
record = JSON.parse(await readFile(paths.metadata, "utf8"));
|
|
26
|
+
await access(paths.encrypted);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
throw new McpToolError("ssh_credential_not_found", "No local encrypted SSH credential with this ID. Enroll it locally using Set-SshMcpCredential.ps1");
|
|
30
|
+
}
|
|
31
|
+
if (record === null || typeof record !== "object" || Array.isArray(record)) {
|
|
32
|
+
throw new McpToolError("ssh_credential_invalid", "Stored SSH credential metadata is invalid");
|
|
33
|
+
}
|
|
34
|
+
const r = record;
|
|
35
|
+
if (r.version !== 1 || r.id !== id || typeof r.host !== "string" || typeof r.username !== "string"
|
|
36
|
+
|| !Number.isInteger(r.port) || Number(r.port) < 1 || Number(r.port) > 65535
|
|
37
|
+
|| typeof r.expectedHostHash !== "string" || !SHA256_HEX.test(r.expectedHostHash)) {
|
|
38
|
+
throw new McpToolError("ssh_credential_invalid", "Stored SSH credential metadata failed validation");
|
|
39
|
+
}
|
|
40
|
+
const target = parseSshTarget({ host: r.host, username: r.username });
|
|
41
|
+
if (target.host.toLowerCase() === "ssh.instabox.sh") {
|
|
42
|
+
throw new McpToolError("ssh_credential_unsupported_host", "Host-certificate endpoints must use the dedicated OpenSSH CA-verification workflow");
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
version: 1, id, host: target.host, username: target.username,
|
|
46
|
+
port: Number(r.port), expectedHostHash: r.expectedHostHash.toLowerCase(),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export async function decryptCredential(id, home) {
|
|
50
|
+
const paths = credentialPaths(id, home);
|
|
51
|
+
const reader = fileURLToPath(new URL("../scripts/Get-SshMcpCredential.ps1", import.meta.url));
|
|
52
|
+
return await new Promise((resolve, reject) => {
|
|
53
|
+
execFile("powershell.exe", ["-NoLogo", "-NoProfile", "-NonInteractive", "-ExecutionPolicy", "Bypass", "-File", reader, "-CredentialPath", paths.encrypted], { timeout: 12_000, maxBuffer: 16 * 1024, windowsHide: true }, (error, stdout) => {
|
|
54
|
+
// Never return PowerShell errors/stdout containing credential data to the MCP client.
|
|
55
|
+
if (error || stdout.length < 1 || stdout.length > 4096) {
|
|
56
|
+
reject(new McpToolError("ssh_credential_unlock_failed", "Unable to unlock encrypted SSH credential for this Windows user"));
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
resolve(stdout);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=secure-credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secure-credentials.js","sourceRoot":"","sources":["../src/secure-credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,44 @@ import { runOpenSshCommand } from "../openssh-command.js";
|
|
|
4
4
|
import { runOpenSshCommandWithTemporaryHostCa } from "../openssh-temporary.js";
|
|
5
5
|
import { trustOpenSshHostCa } from "../openssh-trust.js";
|
|
6
6
|
import { McpToolError } from "../tool-result.js";
|
|
7
|
+
import { readCredentialMetadata } from "../secure-credentials.js";
|
|
8
|
+
import { runSavedCredentialCommand } from "../saved-credential-run.js";
|
|
7
9
|
export function registerSessionTools(ctx) {
|
|
8
10
|
const { z, toToolResult, runtimeConfig, sessions, sessionIdSchema, wireEncodingSchema, ptySchema, registerTool, compactExecPty, compactPty } = ctx;
|
|
11
|
+
registerTool("ssh_saved_credential_status", {
|
|
12
|
+
title: "Inspect local encrypted SSH credential alias",
|
|
13
|
+
description: "Check that a Windows DPAPI credential alias exists and inspect non-secret host metadata. Never returns or decrypts a password.",
|
|
14
|
+
inputSchema: { credentialId: z.string().regex(/^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/) },
|
|
15
|
+
}, async (args) => toToolResult(async () => ({
|
|
16
|
+
ok: true, credential: await readCredentialMetadata(args.credentialId),
|
|
17
|
+
})));
|
|
18
|
+
registerTool("ssh_run_saved_credential", {
|
|
19
|
+
title: "Run one-off SSH command using local DPAPI credential",
|
|
20
|
+
description: "Windows only. Read an encrypted local credential by alias (password never enters MCP arguments); require the independently pinned SSH host key from enrollment, run one remote command and disconnect. To enroll locally, use scripts/Set-SshMcpCredential.ps1 with a hidden password prompt.",
|
|
21
|
+
inputSchema: {
|
|
22
|
+
credentialId: z.string().regex(/^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/),
|
|
23
|
+
command: z.string().min(1).max(16_384),
|
|
24
|
+
timeoutMs: z.number().int().min(1_000).max(86_400_000).optional(),
|
|
25
|
+
connectionTimeoutMs: z.number().int().min(1_000).max(120_000).optional(),
|
|
26
|
+
maxOutputBytes: z.number().int().min(1).max(64 * 1024 * 1024).optional(),
|
|
27
|
+
},
|
|
28
|
+
}, async (args) => toToolResult(async () => ({
|
|
29
|
+
ok: true,
|
|
30
|
+
...(await runSavedCredentialCommand({
|
|
31
|
+
credentialId: args.credentialId, command: args.command,
|
|
32
|
+
timeoutMs: args.timeoutMs ?? runtimeConfig.get().defaultExecTimeoutMs,
|
|
33
|
+
connectionTimeoutMs: args.connectionTimeoutMs ?? runtimeConfig.get().defaultConnectionTimeoutMs,
|
|
34
|
+
maxOutputBytes: args.maxOutputBytes ?? runtimeConfig.get().defaultMaxOutputBytes,
|
|
35
|
+
})),
|
|
36
|
+
})));
|
|
9
37
|
registerTool("ssh_run_openssh_temporary", {
|
|
10
38
|
title: "Run one-shot command with temporary host trust",
|
|
11
|
-
description: "
|
|
39
|
+
description: "One-shot native OpenSSH with isolated temporary host CA trust, requiring a locally pinned CA fingerprint. For InstaBox, use usernameEnvVar (no credential in arguments) or opt-in ephemeralToken for one-time use without setup. The latter may be retained in MCP client/tool request logs even though the server does not persist it. No persistent session or permanent known_hosts changes.",
|
|
12
40
|
inputSchema: {
|
|
13
41
|
host: z.string().min(1).describe("Hostname/IP; username@hostname is supported only when usernameEnvVar is omitted. For InstaBox, provide hostname only and use usernameEnvVar."),
|
|
14
42
|
username: z.string().min(1).optional(),
|
|
15
43
|
usernameEnvVar: z.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).optional().describe("Read the SSH username/token from this local MCP process environment variable instead of passing it in tool arguments."),
|
|
44
|
+
ephemeralToken: z.string().regex(/^ibssh_[A-Za-z0-9_-]+$/).optional().describe("Explicit one-shot InstaBox credential. Mutually exclusive with username/usernameEnvVar. WARNING: MCP clients may log this sensitive argument."),
|
|
16
45
|
port: z.number().int().min(1).max(65_535).optional(),
|
|
17
46
|
command: z.string().min(1),
|
|
18
47
|
identityFile: z.string().min(1).optional(),
|
|
@@ -29,6 +58,7 @@ export function registerSessionTools(ctx) {
|
|
|
29
58
|
maxOutputBytes: args.maxOutputBytes ?? runtimeConfig.get().defaultMaxOutputBytes,
|
|
30
59
|
...(args.username === undefined ? {} : { username: args.username }),
|
|
31
60
|
...(args.usernameEnvVar === undefined ? {} : { usernameEnvVar: args.usernameEnvVar }),
|
|
61
|
+
...(args.ephemeralToken === undefined ? {} : { ephemeralToken: args.ephemeralToken }),
|
|
32
62
|
...(args.identityFile === undefined ? {} : { identityFile: args.identityFile }),
|
|
33
63
|
}),
|
|
34
64
|
})));
|
|
@@ -46,11 +76,12 @@ export function registerSessionTools(ctx) {
|
|
|
46
76
|
})));
|
|
47
77
|
registerTool("ssh_run_openssh", {
|
|
48
78
|
title: "Run one-shot command via OpenSSH",
|
|
49
|
-
description: "Run one remote command with
|
|
79
|
+
description: "Run one remote command with native OpenSSH and strict known_hosts verification. For InstaBox use usernameEnvVar or opt-in ephemeralToken for one request without setup. The token is kept out of the native SSH process argv, but MCP clients may log a one-shot token argument.",
|
|
50
80
|
inputSchema: {
|
|
51
81
|
host: z.string().min(1).describe("Hostname/IP or username@hostname; no URL scheme or path."),
|
|
52
82
|
username: z.string().min(1).optional(),
|
|
53
83
|
usernameEnvVar: z.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).optional().describe("Read the SSH username/token from this local MCP process environment variable instead of passing it in tool arguments."),
|
|
84
|
+
ephemeralToken: z.string().regex(/^ibssh_[A-Za-z0-9_-]+$/).optional().describe("Explicit one-shot InstaBox credential. Mutually exclusive with username/usernameEnvVar. WARNING: MCP clients may log this sensitive argument."),
|
|
54
85
|
port: z.number().int().min(1).max(65_535).optional(),
|
|
55
86
|
command: z.string().min(1),
|
|
56
87
|
identityFile: z.string().min(1).optional(),
|
|
@@ -68,6 +99,7 @@ export function registerSessionTools(ctx) {
|
|
|
68
99
|
maxOutputBytes: args.maxOutputBytes ?? runtimeConfig.get().defaultMaxOutputBytes,
|
|
69
100
|
...(args.username === undefined ? {} : { username: args.username }),
|
|
70
101
|
...(args.usernameEnvVar === undefined ? {} : { usernameEnvVar: args.usernameEnvVar }),
|
|
102
|
+
...(args.ephemeralToken === undefined ? {} : { ephemeralToken: args.ephemeralToken }),
|
|
71
103
|
...(args.identityFile === undefined ? {} : { identityFile: args.identityFile }),
|
|
72
104
|
...(args.knownHostsPath === undefined ? {} : { knownHostsPath: args.knownHostsPath }),
|
|
73
105
|
}),
|
|
@@ -182,7 +214,7 @@ export function registerSessionTools(ctx) {
|
|
|
182
214
|
inputSchema: {
|
|
183
215
|
sessionId: sessionIdSchema,
|
|
184
216
|
command: z.string().min(1),
|
|
185
|
-
env: z.record(z.string()).optional(),
|
|
217
|
+
env: z.record(z.string(), z.string()).optional(),
|
|
186
218
|
stdin: z.string().optional(),
|
|
187
219
|
stdinEncoding: wireEncodingSchema,
|
|
188
220
|
outputEncoding: wireEncodingSchema,
|
|
@@ -217,7 +249,7 @@ export function registerSessionTools(ctx) {
|
|
|
217
249
|
description: "Open a persistent interactive shell channel with an optional pseudo-terminal.",
|
|
218
250
|
inputSchema: {
|
|
219
251
|
sessionId: sessionIdSchema,
|
|
220
|
-
env: z.record(z.string()).optional(),
|
|
252
|
+
env: z.record(z.string(), z.string()).optional(),
|
|
221
253
|
allocatePty: z.boolean().optional(),
|
|
222
254
|
pty: ptySchema.optional(),
|
|
223
255
|
ringBufferBytes: z.number().int().min(1024).max(64 * 1024 * 1024).optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-session-tools.js","sourceRoot":"","sources":["../../src/tools/register-session-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"register-session-tools.js","sourceRoot":"","sources":["../../src/tools/register-session-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ToolAnnotations } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
export type ToolRisk = "read-only" | "stateful" | "write" | "destructive";
|
|
3
|
-
export declare const TOOL_NAMES: readonly ["ssh_get_config", "ssh_reload_config", "ssh_list_profiles", "ssh_reload_profiles", "ssh_connect_profile", "ssh_run_profile", "ssh_check_profile", "ssh_project_open", "ssh_project_tree", "ssh_project_search", "ssh_project_stat", "ssh_file_read", "ssh_file_patch", "ssh_project_validate_patch", "ssh_project_apply_patch", "ssh_file_write", "ssh_file_delete", "ssh_file_move", "ssh_project_diff", "ssh_project_run_checks", "ssh_edit_history", "ssh_edit_rollback", "ssh_run_openssh_temporary", "ssh_trust_host_ca", "ssh_run_openssh", "ssh_probe_host_key", "ssh_connect", "ssh_list_sessions", "ssh_disconnect", "ssh_disconnect_all", "ssh_exec", "ssh_rekey", "ssh_shell_open", "ssh_shell_list", "ssh_shell_write", "ssh_shell_read", "ssh_shell_resize", "ssh_shell_close", "sftp_list", "sftp_stat", "sftp_read_file", "sftp_write_file", "sftp_mkdir", "sftp_rm", "sftp_rename", "sftp_chmod", "sftp_chown", "sftp_touch", "sftp_symlink", "sftp_readlink", "sftp_realpath", "sftp_upload_start", "sftp_upload_profile", "sftp_download_start", "sftp_download_profile", "sftp_transfer_status", "sftp_transfer_list", "sftp_transfer_cancel", "ssh_tunnel_local_start", "ssh_tunnel_remote_start", "ssh_tunnel_list", "ssh_tunnel_stop"];
|
|
3
|
+
export declare const TOOL_NAMES: readonly ["ssh_get_config", "ssh_reload_config", "ssh_list_profiles", "ssh_reload_profiles", "ssh_connect_profile", "ssh_run_profile", "ssh_check_profile", "ssh_project_open", "ssh_project_tree", "ssh_project_search", "ssh_project_stat", "ssh_file_read", "ssh_file_patch", "ssh_project_validate_patch", "ssh_project_apply_patch", "ssh_file_write", "ssh_file_delete", "ssh_file_move", "ssh_project_diff", "ssh_project_run_checks", "ssh_edit_history", "ssh_edit_rollback", "ssh_run_openssh_temporary", "ssh_trust_host_ca", "ssh_run_openssh", "ssh_probe_host_key", "ssh_saved_credential_status", "ssh_run_saved_credential", "ssh_connect", "ssh_list_sessions", "ssh_disconnect", "ssh_disconnect_all", "ssh_exec", "ssh_rekey", "ssh_shell_open", "ssh_shell_list", "ssh_shell_write", "ssh_shell_read", "ssh_shell_resize", "ssh_shell_close", "sftp_list", "sftp_stat", "sftp_read_file", "sftp_write_file", "sftp_mkdir", "sftp_rm", "sftp_rename", "sftp_chmod", "sftp_chown", "sftp_touch", "sftp_symlink", "sftp_readlink", "sftp_realpath", "sftp_upload_start", "sftp_upload_profile", "sftp_download_start", "sftp_download_profile", "sftp_transfer_status", "sftp_transfer_list", "sftp_transfer_cancel", "ssh_tunnel_local_start", "ssh_tunnel_remote_start", "ssh_tunnel_list", "ssh_tunnel_stop"];
|
|
4
4
|
export type ToolName = (typeof TOOL_NAMES)[number];
|
|
5
5
|
export declare const AGENT_TOOL_NAMES: Set<string>;
|
|
6
6
|
/**
|
|
@@ -25,6 +25,8 @@ export const TOOL_NAMES = [
|
|
|
25
25
|
"ssh_trust_host_ca",
|
|
26
26
|
"ssh_run_openssh",
|
|
27
27
|
"ssh_probe_host_key",
|
|
28
|
+
"ssh_saved_credential_status",
|
|
29
|
+
"ssh_run_saved_credential",
|
|
28
30
|
"ssh_connect",
|
|
29
31
|
"ssh_list_sessions",
|
|
30
32
|
"ssh_disconnect",
|
|
@@ -87,6 +89,8 @@ export const AGENT_TOOL_NAMES = new Set([
|
|
|
87
89
|
"ssh_trust_host_ca",
|
|
88
90
|
"ssh_run_openssh",
|
|
89
91
|
"ssh_probe_host_key",
|
|
92
|
+
"ssh_saved_credential_status",
|
|
93
|
+
"ssh_run_saved_credential",
|
|
90
94
|
"ssh_disconnect",
|
|
91
95
|
"ssh_exec",
|
|
92
96
|
"ssh_shell_open",
|
|
@@ -128,6 +132,7 @@ export const DANGEROUS_TOOL_NAMES = new Set([
|
|
|
128
132
|
]);
|
|
129
133
|
export const LOCAL_ONLY_TOOL_NAMES = new Set([
|
|
130
134
|
"ssh_get_config",
|
|
135
|
+
"ssh_saved_credential_status",
|
|
131
136
|
"ssh_reload_config",
|
|
132
137
|
"ssh_list_profiles",
|
|
133
138
|
"ssh_reload_profiles",
|
|
@@ -169,6 +174,8 @@ export const TOOL_RISK = {
|
|
|
169
174
|
ssh_trust_host_ca: "stateful",
|
|
170
175
|
ssh_run_openssh: "destructive",
|
|
171
176
|
ssh_probe_host_key: "read-only",
|
|
177
|
+
ssh_saved_credential_status: "read-only",
|
|
178
|
+
ssh_run_saved_credential: "destructive",
|
|
172
179
|
ssh_connect: "stateful",
|
|
173
180
|
ssh_list_sessions: "read-only",
|
|
174
181
|
ssh_disconnect: "stateful",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-metadata.js","sourceRoot":"","sources":["../../src/tools/tool-metadata.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-metadata.js","sourceRoot":"","sources":["../../src/tools/tool-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Windows DPAPI SSH credentials (one-shot)
|
|
2
|
+
|
|
3
|
+
This opt-in workflow keeps the SSH password out of MCP tool calls, CLI
|
|
4
|
+
arguments, application configuration and Git. Credentials are encrypted using
|
|
5
|
+
Windows DPAPI under the current Windows user account and protected by a
|
|
6
|
+
restricted per-user NTFS directory.
|
|
7
|
+
|
|
8
|
+
## 1. Verify the SSH server identity before enrolling
|
|
9
|
+
|
|
10
|
+
Use a trusted remote console or administrator-approved channel to obtain the
|
|
11
|
+
server's ED25519 public host key fingerprint. `ssh_probe_host_key` can
|
|
12
|
+
observe a fingerprint, but a network observation alone is **not** a trusted
|
|
13
|
+
fingerprint. Use the 64-character hex form of the *independently verified*
|
|
14
|
+
SHA-256 host-key digest. Do not turn off host verification.
|
|
15
|
+
|
|
16
|
+
## 2. Enroll once using a local interactive PowerShell terminal
|
|
17
|
+
|
|
18
|
+
```powershell
|
|
19
|
+
& "D:\studyProject\skills\enterprise_ssh\scripts\Set-SshMcpCredential.ps1" `
|
|
20
|
+
-CredentialId "wesky-p7" `
|
|
21
|
+
-HostName "100.66.166.53" `
|
|
22
|
+
-Port 22 `
|
|
23
|
+
-Username "root" `
|
|
24
|
+
-ExpectedHostHash "<independently-verified-64-character-sha256-hex>"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
PowerShell will prompt for the password securely (characters are not echoed).
|
|
28
|
+
Do not paste passwords into ChatGPT, tool arguments, command-line switches or
|
|
29
|
+
saved PowerShell history. The encrypted credential is user-bound (Windows
|
|
30
|
+
DPAPI) and is not portable to a different user/machine without reenrollment.
|
|
31
|
+
Do not commit `%USERPROFILE%\.ssh-manager\secure\ssh-credentials` to Git.
|
|
32
|
+
|
|
33
|
+
## 3. Use the MCP (no password fields)
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{ "name": "ssh_saved_credential_status", "arguments": { "credentialId": "wesky-p7" } }
|
|
37
|
+
{ "name": "ssh_run_saved_credential", "arguments": { "credentialId": "wesky-p7", "command": "uname -a" } }
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The connection uses ssh2 with strict host-key pinning and the stored host,
|
|
41
|
+
port and username. The password is decrypted in the MCP process via a
|
|
42
|
+
separate child process pipe, not via argv or environment. The remote session
|
|
43
|
+
is ephemeral and is always disconnected after the command, including errors.
|
|
44
|
+
The MCP response contains no password or decrypted credential.
|
|
45
|
+
|
|
46
|
+
For removal, delete the `wesky-p7.dpapi` and `wesky-p7.json` files under
|
|
47
|
+
`%USERPROFILE%\.ssh-manager\secure\ssh-credentials`.
|
|
48
|
+
|
|
49
|
+
## Security boundaries
|
|
50
|
+
|
|
51
|
+
- Credential aliases must be alphanumeric with optional underscores/hyphens.
|
|
52
|
+
- Credentials are host/port/user-bound, and a host-key hash is mandatory.
|
|
53
|
+
- Enrollment must take place in a real local interactive terminal (not an
|
|
54
|
+
MCP argument). The current MCP does not include a password-write tool.
|
|
55
|
+
- This feature is Windows-only. Existing SSH profile and InstaBox CA flows
|
|
56
|
+
remain unchanged.
|
|
57
|
+
- A program running under the *same Windows user account* can request DPAPI
|
|
58
|
+
decryption. Treat access to the logged-in Windows account as highly trusted,
|
|
59
|
+
and use least privilege for MCP clients that can run remote commands.
|
|
60
|
+
- Password strings exist briefly in local process memory and the PowerShell
|
|
61
|
+
pipe during decryption; DPAPI is at-rest protection, not a defense against
|
|
62
|
+
a compromised logged-in user session.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "enterprise-ssh-mcp-server",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "Enterprise SSH/SFTP MCP server with persistent sessions, interactive shells, transfer jobs, and port forwarding.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
},
|
|
23
23
|
"files": [
|
|
24
24
|
"dist",
|
|
25
|
+
"scripts/Get-SshMcpCredential.ps1",
|
|
26
|
+
"scripts/Set-SshMcpCredential.ps1",
|
|
27
|
+
"docs/windows-dpapi-credentials.md",
|
|
25
28
|
"README.md",
|
|
26
29
|
"CHANGELOG.md"
|
|
27
30
|
],
|
|
@@ -36,9 +39,9 @@
|
|
|
36
39
|
"dev:watch": "tsx watch src/index.ts"
|
|
37
40
|
},
|
|
38
41
|
"dependencies": {
|
|
39
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
42
|
+
"@modelcontextprotocol/sdk": "^1.32.2",
|
|
40
43
|
"ssh2": "^1.17.0",
|
|
41
|
-
"zod": "^
|
|
44
|
+
"zod": "^4.6.7"
|
|
42
45
|
},
|
|
43
46
|
"devDependencies": {
|
|
44
47
|
"@types/node": "^24.0.15",
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Invoked internally by the MCP process. This script never accepts a password argument.
|
|
2
|
+
param(
|
|
3
|
+
[Parameter(Mandatory = $true)][string]$CredentialPath
|
|
4
|
+
)
|
|
5
|
+
$ErrorActionPreference = 'Stop'
|
|
6
|
+
$secure = $null
|
|
7
|
+
$bstr = [IntPtr]::Zero
|
|
8
|
+
$plain = $null
|
|
9
|
+
try {
|
|
10
|
+
$secure = (Get-Content -LiteralPath $CredentialPath -Raw -ErrorAction Stop).Trim() |
|
|
11
|
+
ConvertTo-SecureString -ErrorAction Stop
|
|
12
|
+
$bstr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secure)
|
|
13
|
+
$plain = [Runtime.InteropServices.Marshal]::PtrToStringBSTR($bstr)
|
|
14
|
+
# Write UTF-8 to the private child-process pipe without a trailing newline.
|
|
15
|
+
$bytes = [Text.Encoding]::UTF8.GetBytes($plain)
|
|
16
|
+
try {
|
|
17
|
+
[Console]::OpenStandardOutput().Write($bytes, 0, $bytes.Length)
|
|
18
|
+
} finally {
|
|
19
|
+
[Array]::Clear($bytes, 0, $bytes.Length)
|
|
20
|
+
}
|
|
21
|
+
} finally {
|
|
22
|
+
$plain = $null
|
|
23
|
+
if ($bstr -ne [IntPtr]::Zero) {
|
|
24
|
+
[Runtime.InteropServices.Marshal]::ZeroFreeBSTR($bstr)
|
|
25
|
+
}
|
|
26
|
+
if ($null -ne $secure) { $secure.Dispose() }
|
|
27
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Interactive Windows-only enrollment. Password never appears in process argv,
|
|
2
|
+
# command history, environment variables, source files or MCP tool arguments.
|
|
3
|
+
param(
|
|
4
|
+
[Parameter(Mandatory = $true)][string]$CredentialId,
|
|
5
|
+
[Parameter(Mandatory = $true)][string]$HostName,
|
|
6
|
+
[int]$Port = 22,
|
|
7
|
+
[Parameter(Mandatory = $true)][string]$Username,
|
|
8
|
+
[Parameter(Mandatory = $true)][string]$ExpectedHostHash
|
|
9
|
+
)
|
|
10
|
+
$ErrorActionPreference = 'Stop'
|
|
11
|
+
if ($CredentialId -cnotmatch '^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$') { throw 'Invalid credential ID' }
|
|
12
|
+
if ($HostName -notmatch '^[a-zA-Z0-9._:-]+$' -or $HostName.StartsWith('-')) { throw 'Invalid hostname' }
|
|
13
|
+
if ($Username -notmatch '^[^\s@]+$') { throw 'Invalid username' }
|
|
14
|
+
if ($Port -lt 1 -or $Port -gt 65535) { throw 'Invalid port' }
|
|
15
|
+
if ($ExpectedHostHash -notmatch '^[a-fA-F0-9]{64}$') { throw 'ExpectedHostHash must be independently verified 64-character SHA256 hex' }
|
|
16
|
+
if ($HostName -ieq 'ssh.instabox.sh') { throw 'InstaBox requires a dedicated OpenSSH host-certificate trust path' }
|
|
17
|
+
|
|
18
|
+
$dir = Join-Path $env:USERPROFILE '.ssh-manager\secure\ssh-credentials'
|
|
19
|
+
$metadataPath = Join-Path $dir ($CredentialId + '.json')
|
|
20
|
+
$secretPath = Join-Path $dir ($CredentialId + '.dpapi')
|
|
21
|
+
New-Item -Path $dir -ItemType Directory -Force | Out-Null
|
|
22
|
+
# Limit NTFS access to the current account. DPAPI separately protects decryption.
|
|
23
|
+
$me = [System.Security.Principal.WindowsIdentity]::GetCurrent().User.Value
|
|
24
|
+
& icacls.exe $dir /inheritance:r /grant:r ('*' + $me + ':(OI)(CI)F') | Out-Null
|
|
25
|
+
if ($LASTEXITCODE -ne 0) { throw 'Could not restrict vault directory ACL' }
|
|
26
|
+
Write-Host 'Enter SSH password (input hidden; leave blank to cancel):'
|
|
27
|
+
$secret = Read-Host -AsSecureString
|
|
28
|
+
if ($secret.Length -eq 0) { $secret.Dispose(); throw 'Empty password was not saved' }
|
|
29
|
+
try {
|
|
30
|
+
$encrypted = ConvertFrom-SecureString -SecureString $secret
|
|
31
|
+
$metadata = @{
|
|
32
|
+
version = 1
|
|
33
|
+
id = $CredentialId
|
|
34
|
+
host = $HostName
|
|
35
|
+
port = $Port
|
|
36
|
+
username = $Username
|
|
37
|
+
expectedHostHash = $ExpectedHostHash.ToLowerInvariant()
|
|
38
|
+
} | ConvertTo-Json -Compress
|
|
39
|
+
# Write temp files and rename after success; no plaintext is written to disk.
|
|
40
|
+
$secretTemp = $secretPath + '.tmp'
|
|
41
|
+
$metadataTemp = $metadataPath + '.tmp'
|
|
42
|
+
try {
|
|
43
|
+
[IO.File]::WriteAllText($secretTemp, $encrypted, [Text.Encoding]::ASCII)
|
|
44
|
+
[IO.File]::WriteAllText($metadataTemp, $metadata, [Text.Encoding]::UTF8)
|
|
45
|
+
Move-Item -LiteralPath $secretTemp -Destination $secretPath -Force
|
|
46
|
+
Move-Item -LiteralPath $metadataTemp -Destination $metadataPath -Force
|
|
47
|
+
} finally {
|
|
48
|
+
Remove-Item -LiteralPath $secretTemp, $metadataTemp -Force -ErrorAction SilentlyContinue
|
|
49
|
+
}
|
|
50
|
+
Write-Host ('Encrypted SSH credential enrolled as alias: ' + $CredentialId)
|
|
51
|
+
} finally {
|
|
52
|
+
$secret.Dispose()
|
|
53
|
+
}
|