oxidecomputer / oxidecomputer/omicron
wicket's errors should be better when trying to read sensitive data from ssh without a pseudo-tty
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
wicket uses rpassword to read sensitive data during RSS configuration (e.g., the recovery silo password, bgp auth keys). When ssh'ing over wicket, one has to remember to use ssh -t wicket@IP command...; without the -t, ssh doesn't allocate a pseudo-terminal, and we get a pretty arcane error back:
$ ssh wicket@IP setup set-bgp-auth-key "bgpkey"
current BGP authentication keys (0/1 set):
• bgpkey: unset
setting 1 key to use TCP-MD5 authentication
Error: failed to read MD5 authentication key
Caused by:
No such device or address (os error 6)
We should do better here; ideally we could at least suggest trying ssh -t if we think that could be the problem (which it almost always is, in practice!).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at wicket's RSS configuration path where rpassword reads sensitive data, especially the BGP authentication key flow. Reproduce the setup command over SSH without a pseudo-terminal, then verify that the resulting error clearly suggests using ssh -t when no pseudo-terminal is available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100