kingToolbox / kingToolbox/WindTerm

SSH private key storage

Open
#576 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.