oxidecomputer / oxidecomputer/omicron

wicket's errors should be better when trying to read sensitive data from ssh without a pseudo-tty

Open Beginner friendly
#11,148 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.