ceph / ceph/ceph-salt

Give users the option of not exporting the SSH private key

Open
#289 2 comments 2 reactions 0 assignees View on GitHub
low-hanging-fruit
Dominant language
Python
Stars
36
Forks
20
PR merge metrics
No merged PRs in 30d

Description

There are two use cases for "ceph-salt export". The first use case is: "I want to export the configuration so I can **import** it later". The second is: "I want to export the configuration so I can **examine** it later".

The former use case ("for import") requires that the export be complete, including the SSH private key. The latter use case is for examination by humans, who do not need to see the SSH private key.

Since giving one's SSH private key to other humans is considered "unsafe", it makes sense to implement an option to "ceph-salt export" that would "expurgate" (omit) the SSH private key. Instead of:

```
"private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAruZlmrGkAiI6e4LcdiA0q5W+pbJKkRUMMz
LvsH9P6XC7/8D8\nmiFmYHbFN9sYQIrr1sYUjY5+nLV2vuJAKP0eAmwBI4k+142HYyxaSWEOuf8m3dtK\naQz69Cfwf+qpg1fq/0Gh2
LzFi8BFNHIZD4lW7SrC/9c0BkmQ4NxFjO7rmUn/s0tB\nzaV4s/NzUY8b9tAu5+UA3MJjUK2g56kPZaO2DlyG/5IqQnVn/N46Aoye3j
jmxtjc\n8Ui0Pefayu+nwPcciD7EgRyLNvs3Haqvq0jTurRyGnaAys1tVrRrzHtWngXLbUxA\nM3bAx8AqItPGfs9gX5ukLS3nzUEOZ
wQ83rbrKQIDAQABAoIBAE7eZHjynCO+LaMe\nqq217ipl11e+43MzC5JW6NEtR+rbxFsbOo2CfDkJtftvGCuauajbH8+JrzyZc9e2\n
DPqu0YaED6tnq2fmUWP+TySB2PM0xOEMjyx6Bvxsuj3kotYwoi7C+OnUjjxr0olI\n3lYsN3+xZcea0sH3EJblnZNk9ebkQcqE6RTyW
QEIg0mIBDath/XSh6CD4Ae2oL45\nWfRLmWAtZZm3ckQoCE0FUDQfjOmn5vmnMamvboGKdCvOLEUmvv6W03AspvSAmhaq\nVNkLxvLi
3GlloDkFKw0WuN19INkulTyLH3m8c4UV3G5J3bCsa/jeAkSYELeDb8M5\nZytudoUCgYEA0btrq0s1GDTgMrKYIHbP2FtCD4B9kGHsf
4WAktLbanpLuXLZJ9R+\nMAt/MfkMlrV4NTEQx2bfxaIF/YPICeP7R/aibD10F21d4kAND+ExiVXUNQAc09qi\njWQzn0ue6SyHA4nB
neJuag8hd4jJ4sM6DkMkThBfJ4AOIAmkJNUgqyMCgYEA1XvW\nylaCGcO6m3aT+S5eeb3cVgRkoKjcRkB8j/Z/yzQYyqWVWLXlTPu+U
xWah6RZd487\nONmDnoitltmxksxrymemzwjUst/fQ7zgeeWUfQUhzUTh4u8ZPwYJ7wndnIDkrExI\nwZ1xu2QWwQyfUPPK6wjl4Eo6
+f8vG81PO8M760MCgYEAqRVDCTa5mElQki6/TDTc\n/Z0c1eiN0i/P/ULA1B2f/OiZUenQPjcmgE9UfRI+XuXwAloLH+bE8szbrXVneOnO\ndEbWzRKCHDz0mmlu3mV7jS+fxBbSJs21jO3CXGMXuv5F3slZSZL51xFZtseVkvY3\nQLZKd5DlVa/8M0HyjiswiicCgYA9RPqDPcq/DD6tSZ30YQt6UzQ+d6pNtcjqXK2j\nP7KzpjMLTfSL7kBuFL4t6EBed5u5xaDQkxTEViPD7JybLhItmAv21Wj+IWRZc4bV\nVT+Flgh6ei9+SvLq9Je7RBCXTyLSFF65Oq+egX5KT44V1LJDPF2FPqiogUWK7CS2\nWTUEMwKBgCfzNARwAfOQBgRLqygFlztUwklBGOD806uVeqVpSKp/abznfLnP8gE8\nU/5sZihpfL0b2S1N3AoXS/wxUAYKM/7qW3Cb8a1xvIhKjXVy0gMf2TWiqB2Yt4tw\na6OGXFkHorMA641iNNA2nG++OXEhZO2O2GTKOBMpEEqVcIa2SrCl\n-----END RSA PRIVATE KEY-----",
```

it would say:

```
"private_key": "EXPURGATED"
```

The option could be called either `--safe` or `--expurgate`.

UPDATE: it should expurgate `password:` too.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the `ceph-salt export` command entry point and trace how exported configuration fields are assembled. Add an option such as `--safe` or `--expurgate` that replaces both `private_key` and `password` with `EXPURGATED`, while preserving complete exports for import.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, security
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.