ssh-mcp-pro 1.4.3 → 1.5.0
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 +7 -0
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.js +1 -1
- package/dist/remote/agent-bounded-io.d.ts +20 -0
- package/dist/remote/agent-bounded-io.d.ts.map +1 -0
- package/dist/remote/agent-bounded-io.js +101 -0
- package/dist/remote/agent-bounded-io.js.map +1 -0
- package/dist/remote/agent-enrollment.d.ts +12 -0
- package/dist/remote/agent-enrollment.d.ts.map +1 -0
- package/dist/remote/agent-enrollment.js +87 -0
- package/dist/remote/agent-enrollment.js.map +1 -0
- package/dist/remote/agent-executor.d.ts.map +1 -1
- package/dist/remote/agent-executor.js +1 -100
- package/dist/remote/agent-executor.js.map +1 -1
- package/dist/remote/control-plane.d.ts +3 -2
- package/dist/remote/control-plane.d.ts.map +1 -1
- package/dist/remote/control-plane.js +22 -79
- package/dist/remote/control-plane.js.map +1 -1
- package/dist/remote/dashboard-enrollment-commands.d.ts +7 -0
- package/dist/remote/dashboard-enrollment-commands.d.ts.map +1 -0
- package/dist/remote/dashboard-enrollment-commands.js +15 -0
- package/dist/remote/dashboard-enrollment-commands.js.map +1 -0
- package/dist/remote/oauth-handler.d.ts +5 -0
- package/dist/remote/oauth-handler.d.ts.map +1 -1
- package/dist/remote/oauth-handler.js +110 -65
- package/dist/remote/oauth-handler.js.map +1 -1
- package/dist/remote/oauth-provider-exchange.d.ts +11 -0
- package/dist/remote/oauth-provider-exchange.d.ts.map +1 -0
- package/dist/remote/oauth-provider-exchange.js +73 -0
- package/dist/remote/oauth-provider-exchange.js.map +1 -0
- package/dist/remote/store-schema.d.ts +4 -0
- package/dist/remote/store-schema.d.ts.map +1 -0
- package/dist/remote/store-schema.js +147 -0
- package/dist/remote/store-schema.js.map +1 -0
- package/dist/remote/store.d.ts +7 -2
- package/dist/remote/store.d.ts.map +1 -1
- package/dist/remote/store.js +81 -130
- package/dist/remote/store.js.map +1 -1
- package/dist/remote/types.d.ts +13 -0
- package/dist/remote/types.d.ts.map +1 -1
- package/dist/remote/types.js.map +1 -1
- package/dist/remote/web-dashboard-oauth-users.d.ts.map +1 -1
- package/dist/remote/web-dashboard-oauth-users.js +4 -38
- package/dist/remote/web-dashboard-oauth-users.js.map +1 -1
- package/dist/remote/web-dashboard.d.ts +0 -2
- package/dist/remote/web-dashboard.d.ts.map +1 -1
- package/dist/remote/web-dashboard.js +3 -18
- package/dist/remote/web-dashboard.js.map +1 -1
- package/dist/session-auth-config.d.ts +8 -0
- package/dist/session-auth-config.d.ts.map +1 -0
- package/dist/session-auth-config.js +67 -0
- package/dist/session-auth-config.js.map +1 -0
- package/dist/session.d.ts +0 -12
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +3 -64
- package/dist/session.js.map +1 -1
- package/docs/api-overview.md +67 -0
- package/docs/security/hosted-data-inventory.md +3 -1
- package/docs/theme/favicon.svg +12 -0
- package/docs/theme/ssh-docs.css +670 -0
- package/docs/theme/ssh-docs.js +58 -0
- package/mcp.json +1 -1
- package/package.json +11 -11
- package/registry/ssh-mcp-pro/mcp.json +1 -1
- package/server.json +3 -3
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { buildAgentAuth, discoverPrivateKeys, loadPrivateKeyFromPath, } from "./session-auth.js";
|
|
2
|
+
import { createAuthError } from "./errors.js";
|
|
3
|
+
import { logger } from "./logging.js";
|
|
4
|
+
/** Build SSH authentication options while preserving existing strategy priority. */
|
|
5
|
+
/**
|
|
6
|
+
* Builds authentication configuration based on the auth strategy
|
|
7
|
+
*/
|
|
8
|
+
export async function buildSessionAuthConfig(params) {
|
|
9
|
+
const authStrategy = params.auth ?? "auto";
|
|
10
|
+
logger.debug("Building auth config", { strategy: authStrategy });
|
|
11
|
+
switch (authStrategy) {
|
|
12
|
+
case "password":
|
|
13
|
+
if (!params.password) {
|
|
14
|
+
throw createAuthError("Password required for password authentication");
|
|
15
|
+
}
|
|
16
|
+
return { password: params.password };
|
|
17
|
+
case "key":
|
|
18
|
+
return await buildKeyAuth(params);
|
|
19
|
+
case "agent":
|
|
20
|
+
return buildAgentAuth();
|
|
21
|
+
case "auto":
|
|
22
|
+
default:
|
|
23
|
+
return await buildAutoAuth(params);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Builds key-based authentication
|
|
28
|
+
*/
|
|
29
|
+
async function buildKeyAuth(params) {
|
|
30
|
+
if (params.privateKey) {
|
|
31
|
+
logger.debug("Using inline private key");
|
|
32
|
+
return {
|
|
33
|
+
privateKey: params.privateKey,
|
|
34
|
+
...(params.passphrase !== undefined ? { passphrase: params.passphrase } : {}),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (params.privateKeyPath) {
|
|
38
|
+
logger.debug("Using private key from path", {
|
|
39
|
+
path: params.privateKeyPath,
|
|
40
|
+
});
|
|
41
|
+
return await loadPrivateKeyFromPath(params.privateKeyPath, params.passphrase);
|
|
42
|
+
}
|
|
43
|
+
return await discoverPrivateKeys(params.passphrase, logger);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Builds automatic authentication (tries password, then key, then agent)
|
|
47
|
+
*/
|
|
48
|
+
async function buildAutoAuth(params) {
|
|
49
|
+
if (params.password) {
|
|
50
|
+
logger.debug("Auto auth: trying password");
|
|
51
|
+
return { password: params.password };
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
logger.debug("Auto auth: trying key authentication");
|
|
55
|
+
return await buildKeyAuth(params);
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
logger.debug("Auto auth: key authentication failed, trying agent");
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
return buildAgentAuth();
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
throw createAuthError("No suitable authentication method found", "Provide a password, private key, or ensure SSH agent is running");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=session-auth-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-auth-config.js","sourceRoot":"","sources":["../src/session-auth-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,sBAAsB,GAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,oFAAoF;AACpF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAAwB;IACnE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;IAE3C,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAEjE,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,UAAU;YACb,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,eAAe,CAAC,+CAA+C,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,KAAK,KAAK;YACR,OAAO,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,KAAK,OAAO;YACV,OAAO,cAAc,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC;QACZ;YACE,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CAAC,MAAwB;IAClD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9E,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;YAC1C,IAAI,EAAE,MAAM,CAAC,cAAc;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,sBAAsB,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,MAAM,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,MAAwB;IACnD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrD,OAAO,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC;QACH,OAAO,cAAc,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,eAAe,CACnB,yCAAyC,EACzC,iEAAiE,CAClE,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/session.d.ts
CHANGED
|
@@ -62,18 +62,6 @@ export declare class SessionManager {
|
|
|
62
62
|
* Gets an active session by ID
|
|
63
63
|
*/
|
|
64
64
|
getSession(sessionId: string): SSHSession | undefined;
|
|
65
|
-
/**
|
|
66
|
-
* Builds authentication configuration based on the auth strategy
|
|
67
|
-
*/
|
|
68
|
-
private buildAuthConfig;
|
|
69
|
-
/**
|
|
70
|
-
* Builds key-based authentication
|
|
71
|
-
*/
|
|
72
|
-
private buildKeyAuth;
|
|
73
|
-
/**
|
|
74
|
-
* Builds automatic authentication (tries password, then key, then agent)
|
|
75
|
-
*/
|
|
76
|
-
private buildAutoAuth;
|
|
77
65
|
private notifySessionClose;
|
|
78
66
|
private resolveHostKeyPolicy;
|
|
79
67
|
private verifyAcceptNewHostKey;
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/session.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { NodeSSH } from "node-ssh";
|
|
2
|
+
import { buildSessionAuthConfig } from "./session-auth-config.js";
|
|
2
3
|
import * as fs from "node:fs";
|
|
3
4
|
import * as path from "node:path";
|
|
4
5
|
import * as os from "node:os";
|
|
5
|
-
import { normalizeSha256Fingerprint, knownHostKeyFingerprints, generateSessionId,
|
|
6
|
+
import { normalizeSha256Fingerprint, knownHostKeyFingerprints, generateSessionId, parseKnownHostLine, knownHostPatternMatches, } from "./session-auth.js";
|
|
6
7
|
import { SSHMCPError, } from "./types.js";
|
|
7
8
|
import { createAuthError, createConnectionError, createHostKeyError, createPolicyError, createTimeoutError, } from "./errors.js";
|
|
8
9
|
import { logger } from "./logging.js";
|
|
@@ -139,7 +140,7 @@ export class SessionManager {
|
|
|
139
140
|
await this.reserveConnectionSlot();
|
|
140
141
|
reserved = true;
|
|
141
142
|
const ssh = new NodeSSH();
|
|
142
|
-
const authConfig = await
|
|
143
|
+
const authConfig = await buildSessionAuthConfig(params);
|
|
143
144
|
const knownHostsPath = params.knownHostsPath ?? this.security.knownHostsPath;
|
|
144
145
|
const connectConfig = {
|
|
145
146
|
host: params.host,
|
|
@@ -288,68 +289,6 @@ export class SessionManager {
|
|
|
288
289
|
session.info.lastUsed = Date.now();
|
|
289
290
|
return session;
|
|
290
291
|
}
|
|
291
|
-
/**
|
|
292
|
-
* Builds authentication configuration based on the auth strategy
|
|
293
|
-
*/
|
|
294
|
-
async buildAuthConfig(params) {
|
|
295
|
-
const authStrategy = params.auth ?? "auto";
|
|
296
|
-
logger.debug("Building auth config", { strategy: authStrategy });
|
|
297
|
-
switch (authStrategy) {
|
|
298
|
-
case "password":
|
|
299
|
-
if (!params.password) {
|
|
300
|
-
throw createAuthError("Password required for password authentication");
|
|
301
|
-
}
|
|
302
|
-
return { password: params.password };
|
|
303
|
-
case "key":
|
|
304
|
-
return await this.buildKeyAuth(params);
|
|
305
|
-
case "agent":
|
|
306
|
-
return buildAgentAuth();
|
|
307
|
-
case "auto":
|
|
308
|
-
default:
|
|
309
|
-
return await this.buildAutoAuth(params);
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* Builds key-based authentication
|
|
314
|
-
*/
|
|
315
|
-
async buildKeyAuth(params) {
|
|
316
|
-
if (params.privateKey) {
|
|
317
|
-
logger.debug("Using inline private key");
|
|
318
|
-
return {
|
|
319
|
-
privateKey: params.privateKey,
|
|
320
|
-
...(params.passphrase !== undefined ? { passphrase: params.passphrase } : {}),
|
|
321
|
-
};
|
|
322
|
-
}
|
|
323
|
-
if (params.privateKeyPath) {
|
|
324
|
-
logger.debug("Using private key from path", {
|
|
325
|
-
path: params.privateKeyPath,
|
|
326
|
-
});
|
|
327
|
-
return await loadPrivateKeyFromPath(params.privateKeyPath, params.passphrase);
|
|
328
|
-
}
|
|
329
|
-
return await discoverPrivateKeys(params.passphrase, logger);
|
|
330
|
-
}
|
|
331
|
-
/**
|
|
332
|
-
* Builds automatic authentication (tries password, then key, then agent)
|
|
333
|
-
*/
|
|
334
|
-
async buildAutoAuth(params) {
|
|
335
|
-
if (params.password) {
|
|
336
|
-
logger.debug("Auto auth: trying password");
|
|
337
|
-
return { password: params.password };
|
|
338
|
-
}
|
|
339
|
-
try {
|
|
340
|
-
logger.debug("Auto auth: trying key authentication");
|
|
341
|
-
return await this.buildKeyAuth(params);
|
|
342
|
-
}
|
|
343
|
-
catch {
|
|
344
|
-
logger.debug("Auto auth: key authentication failed, trying agent");
|
|
345
|
-
}
|
|
346
|
-
try {
|
|
347
|
-
return buildAgentAuth();
|
|
348
|
-
}
|
|
349
|
-
catch {
|
|
350
|
-
throw createAuthError("No suitable authentication method found", "Provide a password, private key, or ensure SSH agent is running");
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
292
|
async notifySessionClose(sessionId) {
|
|
354
293
|
const listenerTimeoutMs = 5_000;
|
|
355
294
|
const runListener = async (listener) => {
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<div class="docs-hero">
|
|
2
|
+
<span class="docs-kicker">SSH MCP Pro · API reference</span>
|
|
3
|
+
<h2>SSH automation, with control built in.</h2>
|
|
4
|
+
<p>Integrate SSH workflows into MCP clients with strict host verification, scoped sessions and clear operational policies. Find the API you need without digging through configuration tables.</p>
|
|
5
|
+
<div class="docs-hero-actions">
|
|
6
|
+
<a href="https://oaslananka.github.io/ssh-mcp-pro/modules.html">Explore the API →</a>
|
|
7
|
+
<a class="docs-action-quiet" href="#quickstart">Start in minutes</a>
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
<div class="docs-tiles">
|
|
12
|
+
<a class="docs-tile" href="#quickstart">
|
|
13
|
+
<span class="docs-pill">01 · Start</span>
|
|
14
|
+
<span class="docs-tile-title">Install & connect →</span>
|
|
15
|
+
<span class="docs-tile-desc">Launch the stdio MCP server and add it to your client.</span>
|
|
16
|
+
</a>
|
|
17
|
+
<a class="docs-tile" href="https://oaslananka.github.io/ssh-mcp-pro/modules.html">
|
|
18
|
+
<span class="docs-pill">02 · Reference</span>
|
|
19
|
+
<span class="docs-tile-title">Browse modules →</span>
|
|
20
|
+
<span class="docs-tile-desc">Explore public functions, classes, interfaces and types.</span>
|
|
21
|
+
</a>
|
|
22
|
+
<a class="docs-tile" href="https://github.com/oaslananka/ssh-mcp-pro/blob/main/docs/security/threat-model.md">
|
|
23
|
+
<span class="docs-pill">03 · Safety</span>
|
|
24
|
+
<span class="docs-tile-title">Understand the security model →</span>
|
|
25
|
+
<span class="docs-tile-desc">Check session, host-key and command policy boundaries.</span>
|
|
26
|
+
</a>
|
|
27
|
+
<a class="docs-tile" href="https://github.com/oaslananka/ssh-mcp-pro">
|
|
28
|
+
<span class="docs-pill">04 · Project</span>
|
|
29
|
+
<span class="docs-tile-title">View the source →</span>
|
|
30
|
+
<span class="docs-tile-desc">Read full guides, examples, release notes and contribute.</span>
|
|
31
|
+
</a>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
## Quickstart
|
|
35
|
+
|
|
36
|
+
Install the public package using Node.js 22.22.2 or newer:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm install --global ssh-mcp-pro
|
|
40
|
+
ssh-mcp-pro --version
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Register a **stdio MCP server** in a compatible MCP client:
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"name": "ssh-mcp-pro",
|
|
48
|
+
"command": "ssh-mcp-pro",
|
|
49
|
+
"type": "stdio"
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Each client has a different configuration file. Use the [installation and client-specific setup guide](https://github.com/oaslananka/ssh-mcp-pro/blob/main/INSTALL.md) to place the configuration correctly.
|
|
54
|
+
|
|
55
|
+
## First connection
|
|
56
|
+
|
|
57
|
+
Begin with read-only discovery and strict host-key verification. For example, ask your MCP client:
|
|
58
|
+
|
|
59
|
+
> List my configured SSH hosts, explain the active SSH policy, connect to a selected host with strict host-key verification, and report its operating system.
|
|
60
|
+
|
|
61
|
+
Remote mutations remain subject to policy. Review [secure defaults](https://github.com/oaslananka/ssh-mcp-pro#security-defaults) before enabling any write or privileged operations.
|
|
62
|
+
|
|
63
|
+
## Find your way around
|
|
64
|
+
|
|
65
|
+
The **left sidebar** lists API modules and symbols. **Search** in the top bar finds named members; the **right sidebar** (on wide screens) lists headings on the current page. Use the visible moon/sun control to switch appearance, or select OS/Light/Dark under Settings.
|
|
66
|
+
|
|
67
|
+
For environment variables, tool profiles, examples and troubleshooting, see the [main README](https://github.com/oaslananka/ssh-mcp-pro#configuration) and [repository documentation](https://github.com/oaslananka/ssh-mcp-pro/tree/main/docs).
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Engineering evidence only — not a privacy notice or terms of service.**
|
|
4
4
|
This document describes the repository's remote control-plane source
|
|
5
|
-
on 2026-11-
|
|
5
|
+
on 2026-11-10, **not necessarily the version deployed in production**.
|
|
6
6
|
It does not claim legal compliance or promise any retention period.
|
|
7
7
|
|
|
8
8
|
## Data handled in the remote control plane
|
|
@@ -12,6 +12,7 @@ It does not claim legal compliance or promise any retention period.
|
|
|
12
12
|
| Account identity | GitHub ID/login/name or Google ID/email/name when configured | SQLite `users` in [remote store](../../src/remote/store.ts) |
|
|
13
13
|
| Dashboard sessions | Random browser session token, a stored token hash, user ID and expiry | `dashboard_sessions` in [remote store](../../src/remote/store.ts) and [dashboard](../../src/remote/web-dashboard.ts) |
|
|
14
14
|
| OAuth clients/codes | Client identity, redirect URIs, scopes and hashed authorization codes with expiry and use status | `oauth_clients` and `oauth_authorization_codes` in [remote store](../../src/remote/store.ts) |
|
|
15
|
+
| OAuth refresh sessions | Hashed rotating refresh tokens bound to OAuth client, user, resource and scopes, with a fixed 30-day maximum lifetime, use/revocation timestamps and family-replay invalidation | `oauth_refresh_tokens` in [remote store](../../src/remote/store.ts) |
|
|
15
16
|
| Devices | Alias, public key, policy, status, host metadata and last seen | `agents` in [remote store](../../src/remote/store.ts) |
|
|
16
17
|
| Enrollment | Hashed one-time tokens with expiration and use status | `agent_enrollment_tokens` in [remote store](../../src/remote/store.ts) |
|
|
17
18
|
| Remote actions | Tool and capability, **arguments**, status, deadline, **result**, and error details | `actions` in [remote store](../../src/remote/store.ts) |
|
|
@@ -33,6 +34,7 @@ in the action table.
|
|
|
33
34
|
and can be used only once. The existing minute maintenance tick also
|
|
34
35
|
removes physically expired code/token rows. Non-expired rows are retained
|
|
35
36
|
even if already used.
|
|
37
|
+
- Refresh grants are rotated after use, expire after at most 30 days, and can be explicitly revoked through `/oauth/revoke`. Expired refresh records are pruned by the existing maintenance tick. A replayed used refresh token revokes its token family.
|
|
36
38
|
- The periodic cleanup also clears in-memory OAuth and connection state.
|
|
37
39
|
It does **not** impose automatic retention/deletion on users, OAuth
|
|
38
40
|
clients, devices, action history, audit events or infrastructure logs.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="SSH MCP Pro">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="a" x1="0" y1="0" x2="1" y2="1">
|
|
4
|
+
<stop offset="0%" stop-color="#102e78"/>
|
|
5
|
+
<stop offset="100%" stop-color="#3678e7"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<rect width="64" height="64" rx="16" fill="url(#a)"/>
|
|
9
|
+
<path d="m16 23 12 10-12 10" fill="none" stroke="#fff" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
10
|
+
<path d="M34 43h14" fill="none" stroke="#fff" stroke-width="5" stroke-linecap="round"/>
|
|
11
|
+
<circle cx="47" cy="19" r="4" fill="#9ee8fa"/>
|
|
12
|
+
</svg>
|