kingToolbox / kingToolbox/WindTerm
SSH private key storage
- Dominant language
- C
- Stars
- 32.3k
- Forks
- 2.5k
- PR merge metrics
- No merged PRs in 30d
Description
#523 discussed a potential way and was rejected due to security concerns.
I'm here proposing an alternative way of storing SSH private key.
We can create a private key manager to store encrypted private keys under system user profile (such as ~/.wind/keys.config), and uses its public key inside session list. Users can still synchronize private key settings across multiple computers, however the key themselves have to be imported (or copied) by users explicitly on the new computers. Once keys are imported, they can utilize saved key settings automatically.
Currently only the path is saved, and the path to private keys can be different on different computers.
Examples:
```shell
"ssh.identityFilePath" : "D:\\Dropbox\\my_key" # select key by path
```
```shell
"ssh.identityFilePath" : "ssh-ed25519 AAAAC3NzaC1lZDI1NTEnUT1T1k69" # select corresponding key from key manager
```
Alternatively, introduce a new field, such as:
```shell
"ssh.identityFilePath" : "",
"ssh.identityPubKey" : "ssh-ed25519 AAAAC3NzaC1lZDI1NTEnUT1T1k69"
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing issue #523 and the current handling of the saved ssh.identityFilePath setting. Define and agree on the secure private-key storage and synchronization behavior, including the proposed public-key selection fields; done requires a resolved design that addresses the stated security concerns.
Written by the indexing model from the issue text.
Assessment
- Domain
- authentication, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100