| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
add publish command to upload public keys to GitHub, GitLab, Bitbucket New `skm publish <alias> --github|--gitlab|--bitbucket` uploads a public key via the provider's API so users don't have to copy-paste into the web UI. Active key is used when no alias is given. Token resolution: --token flag, then env vars (SKM_*/GITHUB/GITLAB/ BITBUCKET, and GH/GL aliases), then a `gh auth token` / `glab auth token` shellout when those CLIs are installed. Duplicates are detected by canonical key form (type + base64, comment ignored), so re-running the command is a no-op with a friendly notice instead of a 422. Self-hosted GitHub Enterprise / GitLab supported via --url. Only the public key is ever read; the private key is never opened. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> | 3 个月前 | |
modernize create: ed25519 default, RSA min 3072, FIDO2 sk keys - Default key type flips from RSA to ed25519 (matches ssh-keygen 9.5+) - RSA keys below 3072 bits are hard-rejected so `skm create` and `skm audit` agree on what's safe; empty -b defaults to 3072 - Register ed25519-sk and ecdsa-sk for FIDO2 hardware-backed keys; ssh-keygen drives the PIN/touch UX - Refactor to validate-then-mutate: type, bits, and alias sanity all checked before any filesystem mutation, so invalid requests no longer leave orphan alias directories - Reserve dot-prefixed aliases (clash with .trash); extend the shared validateAlias used by import to enforce this - Extract pure buildKeygenArgs + parseCreateParams for unit testing | 3 个月前 | |
add publish command to upload public keys to GitHub, GitLab, Bitbucket New `skm publish <alias> --github|--gitlab|--bitbucket` uploads a public key via the provider's API so users don't have to copy-paste into the web UI. Active key is used when no alias is given. Token resolution: --token flag, then env vars (SKM_*/GITHUB/GITLAB/ BITBUCKET, and GH/GL aliases), then a `gh auth token` / `glab auth token` shellout when those CLIs are installed. Duplicates are detected by canonical key form (type + base64, comment ignored), so re-running the command is a no-op with a friendly notice instead of a 422. Self-hosted GitHub Enterprise / GitLab supported via --url. Only the public key is ever read; the private key is never opened. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> | 3 个月前 | |
add soft-delete trash with restore and empty commands Deletes now move the alias directory into <store>/.trash/<alias>-<ts>/ instead of unlinking it, so accidental deletes are recoverable. Adds a new `skm trash` command with ls/restore/empty subcommands; restore accepts either the full entry name or just the alias (when only one trashed entry matches). `skm delete --purge` keeps the old hard-delete behavior. LoadSSHKeys skips .trash so trashed copies don't surface as live aliases, and backup excludes .trash from both the tar and restic paths. | 3 个月前 |