Skip to content

Commit 0875955

Browse files
committed
feat(add): Default public key to <private key>.pub if not given
1 parent f604333 commit 0875955

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,28 +86,30 @@ Injects SSL keys to `ssh-agent` stored in 1Password, Bitwarden and AWS S3.
8686

8787
## How to use it
8888

89-
1. Login to Bitwarden or 1Password with `bw` or `op`. If you are using S3, set your credentials.
89+
1. Login to Bitwarden (and export its session key) or 1Password with `bw` or `op`. If you are using S3, set your credentials.
9090
1. Add your key pairs to your password manager.
9191

92+
> **NOTE:** If not public key is given, the private one, postfixed with `.pub`, will be used.
93+
9294
For 1Password
9395
---
9496

9597
```shell
96-
ssh-manager add --name my-another-server --private-key $PK_PATH --public-key $PUB_KEY_PATH --provider op
98+
ssh-manager add --name my-another-server --private-key $PK_PATH [ --public-key $PUB_KEY_PATH ] --provider op
9799
```
98100

99101
For Bitwarden
100102
---
101103

102104
```shell
103-
ssh-manager add --name my-server --private-key $PK_PATH --public-key $PUB_KEY_PATH --provider bw
105+
ssh-manager add --name my-server --private-key $PK_PATH [ --public-key $PUB_KEY_PATH ] --provider bw
104106
```
105107

106108
For AWS S3
107109
---
108110

109111
```shell
110-
ssh-manager add --name my-another-server --private-key $PK_PATH --public-key $PUB_KEY_PATH --provider s3 --bucket my-bucket
112+
ssh-manager add --name my-another-server --private-key $PK_PATH [ --public-key $PUB_KEY_PATH ] --provider s3 --bucket my-bucket
111113
```
112114

113115
## Improvements to be made

cmd/add.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@ func setupAddCommand(cmd *cobra.Command) {
2121

2222
cmd.Flags().String("public-key", "", "Public Key file")
2323

24-
if err := cmd.MarkFlagRequired("public-key"); err != nil {
25-
log.Fatalf("Lethal damage: %s\n\n", err)
26-
}
27-
2824
cmd.Flags().String("private-key", "", "Private Key file")
2925

3026
if err := cmd.MarkFlagRequired("private-key"); err != nil {
@@ -47,10 +43,13 @@ func Add() *cobra.Command {
4743
Short: "Add Manager key to given provider.",
4844
RunE: func(cmd *cobra.Command, args []string) error {
4945
name, _ := cmd.Flags().GetString("name")
50-
publicKeyFileName, _ := cmd.Flags().GetString("public-key")
51-
privateKeyFileName, _ := cmd.Flags().GetString("private-key")
5246
providerName, _ := cmd.Flags().GetString("provider")
5347
bucket, _ := cmd.Flags().GetString("bucket")
48+
privateKeyFileName, _ := cmd.Flags().GetString("private-key")
49+
publicKeyFileName, err := cmd.Flags().GetString("public-key")
50+
if err != nil {
51+
publicKeyFileName = privateKeyFileName + ".pub"
52+
}
5453

5554
publicKey, err := readFile(publicKeyFileName)
5655
if err != nil {

0 commit comments

Comments
 (0)